Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Regex non funzionante

  1. #1

    Regex non funzionante

    Salve a tutti ragazzi,
    io avrei bisogno di scrivere una regex per la validazione del numero di telefono.
    il numero di telefono è nella forma
    +393931111111
    come vedete si tratta di un cellulare che contiene all'inizio un più e poi una sequenza di 12 numeri per un totale di 13 valori...
    potreste aiutarmi a scriverla, perchè mi sta facendo ammattire il preg_match....
    grazie
    Marco

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,447
    \+[0-9]{12}

    Edit: questa accetta qualsiasi numero subito dopo il segno +, ti va bene o vuoi che i numeri debbano per forza essere italiani e quindi iniziare con +39?

  3. #3
    il numero comincia per +393....perchè è un cellulare italiano...
    il codice quindi verrebbe:


    Codice PHP:
    $regex_cell "/\+[0-9]{12}/";
        if ((
    strlen($cellulare)>and strlen($cellulare)<13) || !preg_match($regex_cell,$cellulare)) {
       
    ERRORE

    giusto?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,447
    Se deve necessariamente iniziare per +393 allora usa questa
    \+393[0-9]{9}

  5. #5
    grazie tante

  6. #6
    una curiosità...
    se invece volessi che il numero possa contere + e numei dovrei scrivere: [\+0-9]{13} e basta, giusto?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,447
    Se il + può essere solo il primo carattere allora portalo fuori dalle parentesi quadre, altrimenti potrebbe apparire ovunque.

    Mi raccomando per il codice che hai postato:
    $cell = "/\+393[0-9]{9}/";

    prima del + ci va il \ o non funzionerà niente perché il solo + è un carattere che ha un suo preciso significato nelle espressioni regolari e messo al primo posto è un errore.

  8. #8
    ok grazie per tutti i consigli

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 © 2024 vBulletin Solutions, Inc. All rights reserved.