Annuncio

Collapse
No announcement yet.

aiuto espressione regolare javascript

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts

  • aiuto espressione regolare javascript

    Sperando che qualcuno di voi sommi mi possa aiutare, apro questo topic per togliermi un dubbio atroce riguardo un parte di codice javascript per un esame.

    Ovvero, dovrei controllare l'esattezza di una data tramite un codice javascript e un'espressione regolare.

    La data deve essere nel formato aaaa-mm-gg, quindi ho creato un'espressione regolare così:

    var espressione=/[0-9]{4}[\-][0-9]{1,2}[\-][0-9]{1,2}/;

    e poi il resto:

    Spoiler:
    var matchArray = stringa_da_controllare.match(espressione);

    if (matchArray == null || matchArray[1]==null){

    datemsg="----- Please enter date as mm/dd/yyyy " + "\n";
    return false;
    }
    else{

    if(matchArray[3]=null || matchArray[5]==null){
    datemsg="----- Please enter date as mm/dd/yyyy " + "\n";
    return false;
    }
    }


    Se metto la data 2010-05-07 (data esatta) mi risultano tutti i valori dell'array null, tranne match array, e quindi la funzione restituisce false.


    Se invece uso QUESTA espressione regolare con la stessa data :
    var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/i;

    mi inizializza tutti i valori dell'array tranne quello relativo al mese, ovvero matchArray[3], a cui viene assegnato il valore false.


    Se non ci avete capito niente (), scrivete almeno come la scrivereste voi l'espressione regolare e se la funzione match ha qualche limitazione.

    perchè lo hai detto tu che sei ogni sapiente

  • #2
    Allora. Fermo restando che il forum redazione non è il massimo per queste cose:
    var espressione=/([0-9]{4})[\-]([0-9]{1,2})[\-]([0-9]{1,2})/;
    Questa è la versione corretta: raggruppi i numeri (quindi parentesi tonde) e fai l'escape del trattino per non inserirlo all'interno dell'array.

    Per quanto concere la seconda espressione, in quel caso anche il trattino viene usato come meta carattere da matchare. all'interno dell'array , quindi, gli elmenti sono sia i numeri che i trattini.
    MrBix
    Non condivido ciò che dici, ma sarei disposto a dare la vita affinché tu possa dirlo.

    Comment


    • #3
      Grazie, ho risolto.

      Scusa per la sezione, ma sembrate gli unici su tutto il forum che mi rispondono a domande del genere...

      perchè lo hai detto tu che sei ogni sapiente

      Comment


      • #4
        Originariamente Scritto da Smallman_647 Visualizza Messaggio
        Grazie, ho risolto.

        Scusa per la sezione, ma sembrate gli unici su tutto il forum che mi rispondono a domande del genere...
        chissà perchè...
        Facebook: Gennaro Davide Ottagono

        Comment


        • #5
          io non ho mai seguito una lezione di javascript nemmeno quando la prof ce lo stava spiegando loal. altrimenti lo avrei aiutato volentieri

          sigpic

          Comment


          • #6
            Originariamente Scritto da Roscio360 Visualizza Messaggio
            io non ho mai seguito una lezione di javascript nemmeno quando la prof ce lo stava spiegando loal.
            Vantatene pure...

            perchè lo hai detto tu che sei ogni sapiente

            Comment

            Working...
            X