• User

    Ereg e controllo stringa alfanumerica

    Buon giorno, non so come controllare una stringa alfanumerica tipo questa: 4nt4goni4.
    Cioè i numeri presenti all'interno della stringa devono essere da un minimo di 1 ad un massimo di 3.

    ho fatto cosi ma ovviamente non funziona:

    
    if (ereg("[a-z0-9\?]{1,3}", "4nt4goni4")) {
    
    

    Cosa mi dite?
    Grazie mille 😄


  • User

    Ciao,
    prova così:

    if (ereg('/\b\w{1,3}\b/', "4nt4goni4")) { 
    

    :ciauz:


  • User Attivo

    Ciao,

    il quantificatore:

    
    {1,3}
    
    

    Non va bene nel tuo caso, perchè considera il/i simbolo/i ripetuto da 1 a 3 volte in modo consecutivo, mentre dal tuo esempio non è così.

    L'espressione regolare per una stringa alfanumerica con minimo 1 carattere numerico e massimo 3 è questa:

    [php]
    $exp="^[a-z][0-9]{1}[a-z][0-9]?[a-z][0-9]?[a-z]$";
    [/php]

    Alessandro


  • User

    sei un grande adesso funziona.... :d
    ti ringrazio sei stato moooolto gentile.
    però posso chiederti cortesemente, se puoi spiegarmi in realtà cosa indica tutta quella stringa?
    grazie mille buon week


  • User Attivo

    La condizione che vuoi realizzare prevede una stringa alfanumerica con minimo un carattere numerico e massimo 3, in posizione qualisasi.
    Questo significa che:

    a partire dall'inizio della stringa ^

    puoi avere un qualsiasi numero (da zero in su) di caratteri alfabetici [a-z]*


    un singolo carattere numerico obbligatorio [0-9]{1}

    un qualsiasi numero (da zero in su) di caratteri alfabetici [a-z]*


    un facoltativo secondo carattere numerico [0-9]?

    un qualsiasi numero (da zero in su) di caratteri alfabetici [a-z]*


    un facoltativo terzo carattere numerico [0-9]?

    un qualsiasi numero (da zero in su) di caratteri alfabetici [a-z]*

    nessuna altro carattere oltre a questi (fine stringa) $


  • User

    un'ultima curiosità..
    in questo controllo è possibile inserire anche quello sulle lettere accentate e caratteri speciali?
    grazie mille sei stato molto gentile...
    Ti auguro una buona giornata e buon lavoro...