Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [JS] Regex : controllo su anno

    Salve a tutti, domanda veloce

    Devo controllare se dall'anno di nascita una persona è maggiorenne.

    Quindi quest'anno (ad esempio) potrò accettare valori fra 1920 e 1988

    ho provato con una semplice var i=new RegExp("^([1910-2000])$"); ma ovviamente così non funzia...

    C'è modo di definire un semplice da-a ?


    Risolto : var i=new RegExp("^([1910-2000]{4})$");

    mancava il 4 .... scusate, sto iniziando a studiare le regex
    Guybrush Threepwood

  2. #2
    Scusa, ma se fai il controllo su quest'anno poi un altr'anno come fai? Non potresti semplicemente fare una sottrazione tra l'anno corrente o la data che ti interessa a te e quella di nascita?????

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    infatti è quello che ho fatto, ho postato il codice semplice
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    in realtà ho ancora qualche problema...perch aggiungendo "y" mi canna tutto

    codice:
    var data = new Date();
       var y=data.getYear()-19;  
       var i=new RegExp("^([1910-"+y+"]{4})$");
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    scusate, mi sorge un dubbio... la sintassi [1910-1988]{4} è corretta?
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Trovato l'inghippo : [1910-1988]{4} accetta solo i due numeri 1910 e 1988

    Esiste modo per fare una semplice regex che controlli che un numero sia compreso fra A e B ?
    Guybrush Threepwood

  7. #7
    Forse non hai chiaro come funzionano le espressioni regolari...
    L'espressione regolare ti dice come COSTRUIRE una stringa, ad esempio:

    1[0-9]{3}|2[0-9]{3}

    questa sequenza di segni significa che:
    - la cifra può iniziare con 1 | 2 (leggi con 1 o 2)
    - dopo a questo numero ci devono stare 3 cifre che possono andare da 0 a 9

    Quindi, dopo aver letto questo, trovati l'espressione regolare per il tuo caso, ma secondo me ti conviene metterti due variabili intere e fare semplicemente la sottrazione come ti ho già detto.

  8. #8
    Concordo, e inoltre ti faccio notare
    che per essere maggiorenne non è detto che l'ANNO di nascita debba per forza essere minore di 18 anni fa! perchè se uno nasce dopo il 1 gennaio, per es. il 25 dicembre 1989( ) anche se 2007-1989 = 18, a oggi non è ancora maggiorenne!! deve arrivare il 25 dicembre e, è proprio il caso di dirlo, facciamo Natale!!!


    Ciao
    *** Rachele TI AMO DA MORIRE!!! ***

  9. #9
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da Sara_1511
    ...ma secondo me ti conviene metterti due variabili intere e fare semplicemente la sottrazione come ti ho già detto.
    Su questo concordo

    Cmq l'idea mi era venuta dal fatto che è possibile gestire dei range [A-Z] e per cui ho pensato che si potesse fare anche un range fra numeri [1900-2000]
    Guybrush Threepwood

  10. #10
    Non ti complicare la vita

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.