Visualizzazione risultati 1 fino 12 di 12

Discussione: Campo che contiene solo caratteri alfabetici?

  1. #1
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito Campo che contiene solo caratteri alfabetici?

    salve a tutti! il titolo parla chiaro: come posso fare in modo che un campo input contenga solo caratteri alfabetici?

    grazie.

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    fai una regex di questo tipo: /^[a-zA-Z0-9]+$/

    poi controlli il campo input per es. con questa funzione js:

    Codice HTML:
    function test_input()
    {
        var stringa = document.modulo_form.stringa.value;
        var regexp = /^[a-zA-Z0-9]+$/;
        if (regexp.test(stringa) == false)
        {
            alert("Puoi usare solo caratteri alfanumerici");
        }
        else
        {
            alert("Ok, la stringa è corretta!");
        }
    }
    
    <form name="modulo_form">
        <input type="text" name="stringa">
        <input type="button" value="Test Input" onclick="test_input();">
    </form>
    Ultima modifica di EuroSalute : 27-11-2011 alle ore 22.03.27 Motivo: correzzioni
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito

    Allora io ho questo codice per un form di registrazione (fatto malissimo ma sono alle prime armi)

    Codice HTML:
    <html> 
    <head> 
    
    <script language="javascript">
    function validate()
    {
    var str=true;
    document.getElementById("msg1").innerHTML="";
    document.getElementById("msg4").innerHTML="";
    document.getElementById("msg2").innerHTML="";
    document.getElementById("msg3").innerHTML="";
    document.getElementById("msg5").innerHTML="";
    document.getElementById("msg6").innerHTML="";
    document.getElementById("msg7").innerHTML="";
    document.getElementById("msg8").innerHTML="";
    
    if(document.modulo.user.value=='')
    {
    document.getElementById("msg1").innerHTML="&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire un username.";
    str=false;
    }
    
    if(document.modulo.pass.value=='')
    {
    document.getElementById("msg2").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire una password.";
    str=false;
    }
    
    else if(document.modulo.pass.value.length < 3)
    {
    
    document.getElementById("msg5").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire almeno <b>3</b> caratteri.";
    str=false;
    }
    
    else if(document.modulo.pass.value.length > 15)
    {
    document.getElementById("msg6").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire al massimo <b>15</b> caratteri.";
    str=false;
    }
    
    if(document.modulo.pass.value!=document.modulo.re_pass.value)
    {
    document.getElementById("msg3").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Le password inserite non coincidono.";
    str=false;
    }
    
    var validate_char= /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
    if(!document.modulo.email.value.match(validate_char))
    {
    document.getElementById("msg4").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire un indirizzo email valido.";
    str=false;
    }
    
    if(document.modulo.firstname.value=='')
    {
    document.getElementById("msg7").innerHTML="&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire il nome.";
    str=false;
    }
    
    if(document.modulo.lastname.value=='')
    {
    document.getElementById("msg8").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire il cognome.";
    str=false;
    }
    return str;
    
    }
    </script>
    
    </head> 
    <body> 
    <p> 
    <!-- Procediamo costruendo il nostro form che passerà le informazioni inserite alla pagina data_insert.php.  
    Da notare:  
    1. action="data_insert.php?action=add&type=user" - che ci permette di passare le 2 variabili action e type,  
    con i loro rispettivi valori, add e user  
    2. il richiamo delle funzioni javascript al premere del pulsante "Conferma": onSubmit="return (ver() && ControllaMail());" -->  
    
    <form name="modulo" action="data_insert.php?action=add&type=user" method="post" onSubmit="return validate()">
    <table border="0">  
    <table border="0">
        <tr>
          <td width="160"><div align="left"><b>Nome&nbsp;:</b>&nbsp;&nbsp;&nbsp;<br></div></td>
          <td width="100"><input id="firstname" size="20" type="text" name="firstname" class="username"></td>
        </tr> 
    
        <tr>
          <td width="160"><br><br></td>
          <td width="100"><div><span id="statusx"></div><div id="msg7" style="color:#FF0000"></div></td>
        </tr>
    
    <tr>
          <td width="160"><div align="left"><b>Cognome&nbsp;:</b>&nbsp;&nbsp;&nbsp;<br></div></td>
          <td width="100"><input id="lastname" size="20" type="text" name="lastname" class="username"></td>
        </tr> 
    
        <tr>
          <td width="160"><br><br></td>
          <td width="100"><div><span id="statusx"></div><div id="msg8" style="color:#FF0000"></div></td>
        </tr>
    
        <tr>
          <td>
       
        <tr>
          <td width="160"><div align="left"><b>Username&nbsp;:</b>&nbsp;&nbsp;&nbsp;</div></td>
          <td width="100"><input id="user" size="20" type="text" name="user" class="username"</td>
        </tr> 
    
        <tr>
          <td width="160"><font face="arial" size="2">Il nome utente deve avere <br> minimo <b>3</b> e massimo <b>15</b> <br> caratteri alfanumerici.</font></td>
          <td width="100"><table border="0"><tr><td><div><span id="status"></div><div id="msg1" style="color:#FF0000"></td></tr><tr><td><br></td></tr></table></td>
        </tr>
    
        <tr>
          <td width="160"><div align="left"><b>Email&nbsp;:</b>&nbsp;&nbsp;&nbsp;<br></div></td>
          <td width="100"><input id="email" size="20" type="text" name="email" class="email"></td>
        </tr> 
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><div><span id="statusx"></div><div id="msg4" style="color:#FF0000"></div></td>
        </tr>
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><br></td>
        </tr>
    
    	<tr>
          <td width="160"><div align="left"><b>Password&nbsp;:</b>&nbsp;&nbsp;&nbsp;</div></td>
          <td width="100"><input size="20" type="password" name="pass" class="password"></td>
        </tr> 
    
        <tr>
          <td width="160" align="left"><font face="arial" size="2">La password deve avere <br> minimo <b>3</b> e massimo <b>15</b> <br> caratteri, può contenere <br> numeri e lettere sia <br> maiuscole che minuscole.</font></td>
          <td width="100"><table border="0"><tr><td><div id="msg2" style="color:#FF0000" class="error"></div><div id="msg5" style="color:#FF0000"></div><div id="msg6" style="color:#FF0000" class="error"></div></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td><br><br></td></tr></table>
        </tr>
    
    	<tr>
          <td width="160"><div align="left"><b>Conferma Password&nbsp;:</b>&nbsp;&nbsp;&nbsp;</div></td>
          <td width="100"><input size="20" type="password" name="re_pass" class="conferma"></td>
        </tr> 
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><div id="msg3" style="color:#FF0000"></td>
        </tr>
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><br></td>
        </tr>
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><br></td>
        </tr>
    
        <tr>
          <td width="160"><br></td>
          <td width="100"><center><button type="submit" class="registrazione">Registrati</button></center></td>
        </tr>
    
      </table>
    </td>
    </tr>
    </table>
    </form>
    
    </p> 
    </body> 
    </html> 
    come puoi notare ho aggiunto alcune limitazioni al form per evitare agli utenti di iscriversi piu volte e vorrei fare in modo che nei campi nome e cognome l'utente possa inserire solo lettere, se aggiunge anche numeri che appaia con l'inner html sotto al campo con scritto "caratteri numerici non ammessi". come posso fare?

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    se vuoi solo lettere per i due campi nome e cognome, escludi dalla regex i numeri, ed effettui il controllo come hai fatto per l'email....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito

    ho provato a fare come hai detto ma non funziona correttamente. anche se inserisco caratteri alfabetici soltanto non funziona! forse un mio errore di sistemazione.. come devo sistemare il codice?

    grazie.

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non è che sia sbagliato il controllo, e che devi dare al form un nome diverso da 'modulo', prova per es. a dare al name="modulo_form" e vedrai che funziona....

    un test qui:
    http://eurosalute.altervista.org/test-prove/

    se metto al name del form ='modulo' non funziona....
    Ultima modifica di EuroSalute : 27-11-2011 alle ore 22.07.53 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito

    ma come fai a dire che funziona? io ho provato sulla pagina test che mi hai creato ma se inserisco caratteri numerici non da errori! è come se non ci fosse alcun controllo!!

  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    no scusa, non ho inserito quel controllo sul nome esul cognome, ho semplicemente verificato i campi nulli...

    ho inserito quel controllo ora e funziona, verifica tu stesso....

    ho dovuto mettere al name ="modulo_form", perchè già utilizzo name="modulo" per un altro form.....
    Ultima modifica di EuroSalute : 27-11-2011 alle ore 22.38.06 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  9. #9
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito

    an adesso si funziona alla grande :D puoi postarmi il codice perfavore che lo inserisco nella mia pagina?

    grazie mille

  10. #10
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Codice HTML:
    var validate_nome_cognome = /^[a-zA-Z]+$/;
    
    if (validate_nome_cognome.test(document.modulo_form.firstname.value) == false)
    //if(document.modulo_form.firstname.value=='')
    {
    document.getElementById("msg7").innerHTML="&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire il nome, solo lettere per favore.";
    str=false;
    }
    if (validate_nome_cognome.test(document.modulo_form.lastname.value) == false)
    //if(document.modulo_form.lastname.value=='')
    {
    document.getElementById("msg8").innerHTML="&nbsp;&nbsp;<img src=\"http://images.findicons.com/files/icons/1687/free_web_design/16/sign_warning.png\" align=\"absmiddle\">&nbsp;Inserire il cognome, solo lettere per favore.";
    str=false;
    }
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  11. #11
    naturewildlife non è connesso Utente giovane
    Data registrazione
    14-08-2010
    Messaggi
    34

    Predefinito

    grazie mille!

  12. #12
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    figurati....

    ciao
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •