Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716

    sintassi If + Espressione regolare

    ciao, io ho un campo di testo che deve accettare solo il formato 1234/1234, tipo 2001/2002 ecc...

    quindi mi serve un'espressione regolare che se il campo è compilato (cioè non è vuoto) e il formato inserito è diverso, mi dia errore.
    ho provato con una roba del tipo
    var anno = document.form.anno.value;
    if(anno != "" && anno != ([0-9]){4}[0-9]{4})){

    ma non funziona...
    naturalmente al lancio la funzione che controlla quando l'utente clicca sul submit..
    qual'è la sintassi per dire, nella condizione di un ciclo IF, 'se il valore del campo anno rispetta l'espressione regolare' ??

    'assie

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    if ((anno != '') && !(anno.match(/^\d{4}\/\d{4}$/))) {
       // false
    }
    però ricorda di fare validazione anche lato server

    Ciao

    edit: in realta dovresti dividere i casi in modo da gestire meglio i vari rami:

    codice:
    if (anno != '') {
       if (anno.match(/^\d{4}\/\d{4}$/)) {
       // ok
       }
       else {
          // false
       }
    
    }
    else {
      // ok
    }
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da fcaldera
    codice:
    if ((anno != '') && !(anno.match(/^\d{4}\/\d{4}$/))) {
       // false
    }
    però ricorda di fare validazione anche lato server

    Ciao

    edit: in realta dovresti dividere i casi in modo da gestire meglio i vari rami:

    codice:
    if (anno != '') {
       if (anno.match(/^\d{4}\/\d{4}$/)) {
       // ok
       }
       else {
          // false
       }
    
    }
    else {
      // ok
    }
    il match cavolo il match, e dire che l'ho pure già usato

    grazie mille davvero!!!!

    p.s: il campo può essere anche non compilato, l'importante è che se è compilato, il formato sia giusto!

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  4. #4
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    si però proprio non capisco l'espressione
    (anno.match(/^\d{4}\/\d{4}$/)))

    mi sono letto una guida a riguardo su html.it, secondo la quale un'espressione per trovare la stringa nnnn/nnnn dovrebbe essere una cosa del tipo ([0-9]{4})([/])([0-9]{4})...

    sono due tipi di espressioni regolari diverse, due metodi diversi che fanno la stessa cosa o...non ho capito na mazza della guida? :master:

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    \d è di fatto un alias della classe [0-9]

    \w = [a-zA-Z]
    \W = tutto tranne [a-zA-Z]
    \s = spazio
    \S = tutto tranne spazio

    ....
    Vuoi aiutare la riforestazione responsabile?

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

  6. #6
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da fcaldera
    \d è di fatto un alias della classe [0-9]

    \w = [a-zA-Z]
    \W = tutto tranne [a-zA-Z]
    \s = spazio
    \S = tutto tranne spazio

    ....
    ..ah ecco..bisogna che me lo imparo bene bene questo javascript..

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

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.