Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    Problema con espressioni regolari

    Devo validare una stringa che deve contenere solo questi caratteri: a-z A-Z 0-9 àèìòù . > ( ) -

    ho fatto la seguente espressione regolare,
    codice:
    if ( !ereg("^[a-zA-Z0-9àèìòù\.\(\)-> ]+$", $_POST['descrizione_pdi']) ) {
    echo "Errore!" ;
    }
    solo che se inserisco caratteri come + = ! la stringa viene validata lo stesso mentre dovrebbe darmi errore.

    dove sbaglio?
    Errare humanum est, perseverare ovest

  2. #2
    prova a togliere quel + davanti a $ che indica fine stringa

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Originariamente inviato da BorgoItalia
    prova a togliere quel + davanti a $ che indica fine stringa
    ma così facendo posso inserire un solo carattere
    Errare humanum est, perseverare ovest

  4. #4
    Nella tua classe di caratteri sposta il meno (-) in fondo. Va sempre messo come ultimo carattere, perchè all'interno delle classi serve ad indicare anche un range di caratteri (lettere, numeri, etc). In questo modo eviti ambiguità.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    per il numero di caratteri dopo ] devi mettere es. {0,100} in funzione del numero di caratteri che devi valutare

  6. #6
    Allora, intanto il + va benissimo, poi il trattino ('-') all'interno del selettore per character class (le quadre per intenderci) va messo come primo carattere, altrimenti come l'hai messo tu e' un operatore e significa "tutti i caratteri tra ) e >".

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Perfetto, ecco l'espressione corretta,
    codice:
    if ( !ereg("^[-a-zA-Z0-9àèìòù\.\(\)> ]+$", $_POST['descrizione_pdi']) ) echo "Errore!" ;
    Grazie a tutti

    Errare humanum est, perseverare ovest

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.