Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Formato CAP

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Formato CAP

    In un form devo permettere l'inserimento di un CAP, all'arrivo del dato devo controllare se è nel formato giusto, ovvero se si tratta di 5 cifre numeriche.

    Pensavo di farlo con la funzione is_integer() visto che facendo una prova direttamente nel codice in questo modo
    codice:
    $cap = 00100;
    if(is_integer($cap))
        print "è un intero";
    else
       print "non è un intero";
    mi dice che ho inserito un intero, ma nel momento in cui la variabile viene presa da un form ed inviata ad una pagina che elabora i dati, 00100 non è più un intero, anche is_numeric() dice che non è un numero.
    Come controllo di aver ricevuto 5 cifre numeriche?

  2. #2
    Meglio usare un'espressione regolare. Qualcosa di semplice, direi:

    ^[0-9]{5}$
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Azz... mi si è aperto un mondo, si così funziona.
    Beh, visto che ho scoperto questa cosa delle espressioni regolari adesso proverò anche a gestire i numeri civici che diciamo si potrebbero definire così:
    - iniziano con un numero
    - il primo numero non può essere 0
    - dal secondo carattere può comparire un numero o una lettera
    - se c'è una lettera, questa è l'ultimo carattere

    Provo a scrivere una cosa, ma sarà sicuramente sbagliata...

    ^(1-9)(0-9)*[a-z]{1}$

    può andare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    non mi è chiaro sto passaggio:

    - dal secondo carattere può comparire un numero o una lettera
    - se c'è una lettera, questa è l'ultimo carattere

    ma ste lettere c'hanno da sta o no?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, ma se una lettera c'è deve anche essere l'ultimo carattere della stringa.

    Ad esempio: 12b, 3a o 254c vanno bene 12ce o 65a4 no
    ovviamente anche numeri senza lettere devono andare bene.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Provo a scrivere una cosa, ma sarà sicuramente sbagliata...

    ^(1-9)(0-9)*[a-z]{1}$

    può andare?
    No
    Per come lo hai scritto, quel codice prenderebbe per valido 1-9a

    e riterrebbe invalido un nomale 3


    Fai così:

    ^[1-9]{1}[0-9]*[a-z]?$

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.