Visualizzazione dei risultati da 1 a 9 su 9

Discussione: validazione data

  1. #1

    validazione data

    ho cercato in tutto il forum, ma non riesco a risolvere! (inoltre il thread che è linkato nelle discussioni utili non esiste più)

    io ho una funzione del tipo:
    codice:
    function controllaData(){
    	var data=document.getElementById('data_nascita').value;
    	var RegEx=new RegExp("/^(0[1-9]|[12]\\d|3[01])[\\/](1[0-2]|0[1-9])[\\/]((19|20)\\d{2})$/");
    	if (RegEx.test(data)){
    		window.open('pagina.php','pagina','width=470,height=300, top=10, left=10 ,toolbar=no, location=no,status=no,menubar=no,scrollbars=yes,resizable=no');
    		return true;
    	}
    	else{
    		alert(data+"Prima di procedere inserisci una data corretta");
    		return false;
    	}
    }
    ma mi entra sempre nell'else anche qundo la data è corretta!!

    ho aggiunto apposta la scrittura della data nell'alert e seppur mi passi un valore valido [21/08/1975] mi dice SEMPRE che la data non è valida!

    Sbaglio qualcosa nella funzione? in js sono all'inizio perché lo uso poco per programmare ma a me non sembra di vedere errori
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    devi usare un solo backslash

    \

    e non

    \\


    lo so da dove l'hai presa ma è differente il modo di pssare la regexp.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    si ne ho usato anche uno solo e non funzionava, allora ne ho messi 2 ma non cambia niente

    codice:
    var RegEx=new RegExp("/^(0[1-9]|[12]\d|3[01])[\/](1[0-2]|0[1-9])[\/]((19|20)\d{2})$/");
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono alcune backslash doppie, che invece andrebbero singole

    Il separatore, che per te e` [\/], puoi scriverlo senza la quadra, oppure puoi inserire varie opzioni sui separatori:
    [\/\.\-]
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    scrivi l'if così

    codice:
    if (data.match(/^(0[1-9]|[12]\d|3[01])[\/](1[0-2]|0[1-9])[\/]((19|20)\d{2})$/)) {
    ...
    
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    @ Mich_ : le backslash doppie le ho tolte

    @ fcaldera : non va neanche l'ultima


    Grazie a entrambi ma a me ancora non funziona
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    no alt! l'ultima che mi hai postato funziona! solo che io prima avevo aggiunto le "" pensando che tu le avessi dimenticate

    ma come mai va scritta senza ""? non è una stringa quella che passo?

    è che in php le scrivo sempre con le "" e quindi pensavo ci andassero anche qui...e poi le avevo già usate preg con le ""



    boh, il js continua a rimanere un mistero :master:




    in ogni caso grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da 13manuel84
    no alt! l'ultima che mi hai postato funziona! solo che io prima avevo aggiunto le "" pensando che tu le avessi dimenticate
    :rollo:

    il metodo match accetta un espressione regolare, non una stringa.

    cmq ti consiglio di leggere un pò di manualistica sulle regexp, visto che le usi così spesso

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    ok! ma perché allora il metodo sopra con le regex non funzionava?


    le sto usando spesso in questo periodo perché ho dovuto fare un controllo con js...e sinceramente non ne capisco il motivo visto che un controllo lato-client lo posso tranquillamente bypassare, continuo a preferire il php


    e poi almeno nel php le preg si usano sempre allo stesso modo non cambiano a seconda del metodo che uso




    Grazie mille per gli aiuti!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.