Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    controllo campo di testo

    Ciao a tutti, ad una funzione funzionante ho aggiunto un controllo per i caratteri speciali, voglio fare in modo che l'utente non possa insere come nick name un campo formato inizialmente da numeri e dall'inserimento di caratteri speciali. Posto il codice

    codice:
    $nome_utente = $_POST["nome_utente"]; 
    if(strlen($nome_utente) == 0) $errori[0] = "Il Nick Name è obbligatorio"; 
    else if (strlen(trim($nome_utente)) < 6){ 
    $errori[0] = "Il Nick Name non deve essere inferiore a sei caratteri"; 
    } 
    else if (!eregi("^[\'+\\./0-9A-Z^_\`a-z{|}~\-]+{1,3}$",$nome_utente)) { 
    $errori[0] ="caratteri invalidi"; 
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    credo il tuo problema sia sull'espressione regolare. Ma dal tuo post non ho capito le condizioni che questa regexp deve controllare

  3. #3
    Ciao Denis, allora posto il codice che funziona, oltre a questo devo aggiungere la condizione che mi controlli anche il fatto che l'utente nel campo nick name non possa inserire caratteri speciali ed imporre che il nick inizi per lettera e non per numeri.

    codice:
    $nome_utente = $_POST["nome_utente"]; 
    if(strlen($nome_utente) == 0) $errori[0] = "Il Nick Name è obbligatorio";
    else if (strlen(trim($nome_utente)) < 6){ 
    $errori[0] = "Il Nick Name non deve essere inferiore a sei caratteri";
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    prova con questa reg


    /(^\d)|[tutti i caratteri che NON possono essere inseriti]/


    questa regexp è fatta per riconoscere la stringa NON valida... quindi se il controllo ti da TRUE, significa che la stringa non è valida...



    dovrai fare quindi

    if(!ereg....)


    prova

  5. #5
    lo già utilizzata, ma non va mi da un errore..o meglio funziona ma mi riporta il terzo errore anche se il campo è valido, forse sbaglio la condizione o manca qualcosa

    codice:
    $nome_utente = $_POST["nome_utente"]; 
            if(strlen($nome_utente) == 0) $errori[0] = "Il Nick Name è obbligatorio";
    else if (strlen(trim($nome_utente)) < 6){ 
    $errori[0] = "Il Nick Name non deve essere inferiore a sei caratteri";
    } 
    else if (!eregi("^[0-9a-zA-Z]+[\t]", $nome_utente)) { 
    //else if (!eregi("^[\'+\\./A-Z^_\`a-z{|}~\-]+[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+){1,3}$", $nome_utente)) { 
    $errori[0] ="caratteri invalidi"; 
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Non la vedo qui la regexp che ti ho postato io... :master:

  7. #7
    lo fatto funzionare.... :quote:

    codice:
    $nome_utente = $_POST["nome_utente"]; 
       if(strlen($nome_utente) == 0) $errori[0] = "Il Nick Name è  obbligatorio"; 
       else if (strlen(trim($nome_utente)) < 6){ 
       $errori[0] = "Il Nick Name non deve essere inferiore a sei caratteri"; 
    } 
       else if (!eregi("^[\'+\\./A-Z^_\`a-z{|}~\-]+[a-zA-Z0-9_\-]", $nome_utente)) { 
       $errori[0] ="caratteri invalidi"; 
    }

  8. #8
    Lo corretto perchè vi erano dei piccoli problemini però ora ho un problema che non riesco a risolvere, mi sono accorto ora, se io inserisco caratteri speciali dopo aver inserito delle lettere lui li prende lo stesso e non dovrebbe, esempio Nick Name: "pippo@/" lo da per buono e quindi non va bene cosi; come lo fatto io funziona solo se metto caratteri speciali all'inizio tipo "@/pippo" allora mi da l'errore... dove sbaglio? o cosa manca?

    codice:
    function CheckReg1() { 
                     $errori = array(); 
    
                     $nome_utente = $_POST["nome_utente"]; 
                     if ($nome_utente == "") $errori[0] = "Il Nick Name è obbligatorio"; 
                     else if (strlen(trim($nome_utente)) < 6){ 
                     $errori[0] = "Il Nick Name non deve essere inferiore a sei caratteri"; 
                     } 
                     else if (!eregi("^[\'+\\./A-Z^_\`a-z{|}~\-]+[a-zA-Z0-9_\-]", $nome_utente)) { 
                     $errori[0] ="caratteri invalidi"; 
                     } 
                     $password = $_POST["password"]; 
                     if ($password == "") $errori[1] = "Il campo password è obbligatorio"; 
                     else if (strlen(trim($password)) < 6){ 
                     $errori[1] = "La password non deve essere inferiore a sei caratteri"; 
                     } 
    
                     $email = $_POST["email"]; 
                     if ($email == "" ) $errori[2] ="L'indirizzo E-mail è obbligatorio"; 
                     else if (!eregi("^[\'+\\./0-9A-Z^_\`a-z{|}~\-]+@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+){1,3}$", $email)) { 
                     $errori[2] ="E-mail inserita è invalida
    "; 
                     } 
                      
                     return $errori; 
                     }

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.