Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Esclusione caratteri

  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Esclusione caratteri

    Ciao.

    Dovrei escludere dall'inserimento in un campo del form tutti i caratteri speciali della tastiera (|\!"£$%&/()=?'^*+[]ç@°#§-_:.;,).

    Qualcuno può dirmi come fare?

    Grazie
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2

    ...........

    Ciao.
    Un approccio di questo genere
    penso sia di + facile gestione:
    '/^[a-zA-Z0-9\-_]{2,16}$/'
    cioè accetti solo lettere numeri e -_
    la stringa va da due caratteri a 16.





    PS.
    La regex è solo un esempio
    dacci un occhio !
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    <input type="text" onkeyup="if (!/^[a-z0-9]*$/i.test(this.value)) alert('err')">
    così permetto solo lettere e numeri, magari aggiungerei le lettere accentate, punti, virgole etc.

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Perfette entrambe, grazie!
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    oppure
    codice:
    <script language="javascript">
    re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?\'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g
    </script>
    e nel campo del form
    codice:
    onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');"

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    156
    Originariamente inviato da willybit
    oppure
    codice:
    <script language="javascript">
    re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?\'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g
    </script>
    e nel campo del form
    codice:
    onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');"
    Ho modificato quest'ultimo integrandolo con quello precedente:

    <input type="text" name="cognome" style="width:89%" onkeyup="this.value=this.value.replace(re,''); alert('Carattere non consentito')" onchange="this.value=this.value.replace(re,'');">

    e funziona correttamente quando inserisco caratteri speciali ma mi da messaggio di errore se inserirsco una lettera qualunque, come mai?


    inoltre volevo chiedervi:
    1) come fare a validare il campo input dell'email per essere sicuri che il campo sia compilato correttamente

    2) come fare per impostare il campo "cap" in modo che sia esclusivamente numerico

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    156
    Originariamente inviato da floyd
    <input type="text" onkeyup="if (!/^[a-z0-9]*$/i.test(this.value)) alert('err')">
    così permetto solo lettere e numeri, magari aggiungerei le lettere accentate, punti, virgole etc.


    questo script funziona ma vorrei inserire l'"onchange" per eliminare il carattere inserito,

    quale sarebbe la sintassi corretta?

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    [code]
    <input onkeyup="this.value = this.value.replace(/[^a-z0-9]*/gi, '')">
    onkeyup credo sia meglio, ma se preferisci metti onchange

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    156
    ho risolto in questo modo:

    <script language="JavaScript">
    re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g

    ..... altri controlli

    </script>

    e nel corpo:

    <input type="text" name="cognome" style="width:89%" onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');">


    unica cosa che vorrei aggiungere (ma non è fondamentale) è un alert che dice che sono stati inseriti caratteri non validi

  10. #10
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Ho risolto così alla fine:
    codice:
    <script language="JavaScript" type="text/JavaScript">
    <!--
    
    function convalidaForm(objform) 
    {
    
          if (!objform.NomeCampo.value.match(/^[a-zA-Z0-9\-_]{2,16}$/))     
    
            {
              alert('KO');
              objform.NomeCampo.focus();
              return(false);
            } 
    
          
      // Abilita l'invio del FORM
      return(true);
    }
     
    //-->
    </script>
    </head>
    
    <body>
          <form name="objform" method="POST" ACTION="pag.asp" onsubmit="return(convalidaForm(this));">
    ...
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

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.