Controllo su caratteri inseriti in un input di testo

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Cia atutti ,
posto due funzioncine javascript per inibire l'inserimenti di caratteri non consentiti in un input di testo

I caratteri verranno subito eliminati :evil:

HTML:
<html>
    <head>
        <title>prova</title>
        <script type="text/javascript">
            function char_consentiti(campo) {
                // creo una array per i caratteri consentiti
                var consentiti = new Array(1,2,3,4,5,6,7,8,9,0);
                // recupero il valore del campo
                var valore = campo.value;  
                // ciclo le lettere del valore e le passo all funzione inArray()
                for ( var i = 0; i < valore.length; i++ ) {
                    // se non è un carattere consentito
                    if (!inArray(consentiti, valore.charAt(i))) {
                        // aggiorno il valore del campo
                        campo.value = valore.substring(0, i);
                        // esco
                        return;
                    }   
                }
            }        
            function inArray(array, value) {
                // ciclo l'array passato       
                for (var i = 0; i < array.length; i++) {
                    // se il valore passato è uguale ad uno degli elemnti dell'array
                    if (value == array[i]) {
                        // restituisco vero
                        return true;
                    }
                }
                // restituisco falso
                return false;
            }  
        </script>
    </head>
    <body>
        Telefono : <input type="text" name="telefono" onkeyup="char_consentiti(this)"/>
    </body>
</html>

PS: commenti critiche suggeriementi sono ben accetti
 
Ultima modifica:

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Cia atutti ,
posto due funzioncine javascript per inibire l'inserimenti di caratteri non consentiti in un input di testo

I caratteri verranno subito eliminati :evil:

HTML:
<html>
    <head>
        <title>prova</title>
        <script type="text/javascript">
            function char_consentiti(campo) {
                // creo una array per i caratteri consentiti
                var consentiti = new Array(1,2,3,4,5,6,7,8,9,0);
                // recupero il valore del campo
                var valore = campo.value;  
                // ciclo le lettere del valore e le passo all funzione inArray()
                for ( var i = 0; i < valore.length; i++ ) {
                    // se non è un carattere consentito
                    if (!inArray(consentiti, valore.charAt(i))) {
                        // aggiorno il valore del campo
                        campo.value = valore.substring(0, i);
                        // esco
                        return;
                    }   
                }
            }        
            function inArray(array, value) {
                // ciclo l'array passato       
                for (var i = 0; i < array.length; i++) {
                    // se il valore passato è uguale ad uno degli elemnti dell'array
                    if (value == array[i]) {
                        // restituisco vero
                        return true;
                    }
                }
                // restituisco falso
                return false;
            }  
        </script>
    </head>
    <body>
        Telefono : <input type="text" name="telefono" onkeyup="char_consentiti(this)"/>
    </body>
</html>

PS: commenti critiche suggeriementi sono ben accetti


Ciao criric, buon lavoro,

non volevo quotare, ma dovevo aprire una nuova discussione,

non è meglio utilizzare una Regular Expression per controllare l'inserimento di dati invece che un'Array.

un esempio buttato li ma usa poco codice:


Codice:
<script type="text/javascript">
function controlla(questo){
var re = new RegExp("^[0-9]+$", "");
if (!questo.value.match(re)){ 
questo.value = '';
return false;
}
return true;
}
</script>
</head>
<body>
<input type="text" name="n" onkeyup="controlla(this)">

Valeria.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Sei troppo brava Vale! :fonzie:

le espressione regolari le ho mai digerite

riposto con la modifica
HTML:
<html>
    <head>
        <title>prova</title>
        <script type="text/javascript">
            function char_consentiti(campo) {
                // espressione regolare
                var re = new RegExp("^[0-9]+$", "");
                // recupero il valore del campo
                var valore = campo.value;  
                // ciclo le lettere del valore e le verifico
                for ( var i = 0; i < valore.length; i++ ) {
                    // se non è un carattere consentito
                    if (!valore.charAt(i).match(re)) {
                        // aggiorno il valore del campo
                        campo.value = valore.substring(0, i);
                        // esco
                        return;
                    }   
                }
            }  
        </script>
    </head>
    <body>
        Telefono : <input type="text" name="telefono" onkeyup="char_consentiti(this)"/>
    </body>
</html>

ma se volessi permettere anche la virgola e/o il punto? per un campo prezzo
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

per il . e la , basta aggiungerli nella RegExp

anteceduti dal carattere di escape \

var re = new RegExp("^[0-9\.\,]+$", "");

Valeria
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ottimo! prima o poi le imparerò anchio :byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
giancadeejay [PHP] Controllo su quantita' di caratteri inseriti, in colonna db PHP 5
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5
W Controllo caratteri speciali PHP 2
L controllo caratteri e lunghezza PHP 3
Eugene Controllo numero caratteri campo input Javascript 6
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
Z Controllo giorni MYSQL PHP 0
M Problema con controllo form in real time jQuery 6
MarcoGrazia jquery validate() controllo checkbox jQuery 2
M Controllo del codice fiscale/partita iva PHP 11
S Software windows10 per controllo contenuti web Windows e Software 6
S Controllo appuntamenti disponibili sul db PHP 5
L input (controllo se è stato modificato o no). PHP 1
W Controllo competitors serp SEO e Posizionamento 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
M [MS Access] controllo valido se MS Access 8
MarkRed Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus" jQuery 9
C [PHP] Controllo <select> comportamento anomalo PHP 2
elpirata [Javascript] Controllo campi required non effettuato Javascript 2
A [PHP] Controllo nome utente form di registrazione PHP 4
L [PHP] controllo dimensione immagine per il resize PHP 2
M [ASP] Upload file da form controllo Classic ASP 5
P [PHP] Controllo al checkbox privacy PHP 6
S [MySQL] Controllo dati di una tabella in tempo reale MySQL 0
T [php] controllo su estensione file PHP 7
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
F Controllo dati sui campi di input tramite php PHP 1
R [MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO MS Access 7
M [PHP] Dubbio controllo IF PHP 15
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
Fede72 Controllo registrazioni PHP Mysql PHP 5
L jquery e json controllo valori da determinate chiavi - keys jQuery 0
T [Javascript] un controllo con checkbox che non... controlla... Javascript 3
bubino8 [PHP] Controllo Log e Modifiche Utenti PHP 5
P [PHP] Realizzare un controllo accessi cantiere, problema lettore Qrcode... PHP 0
M [PHP] Controllo inserimento in tempo reale PHP 0
M [PHP] Help: controllo valori inseriti in un campo PHP 1
F [Javascript] Controllo stringa jquery Javascript 4
B [MySQL] CONTROLLO SE CAMPO1 > CAMPO2 MySQL 0
CristianB72 [PHP] Controllo sintassi indirizzo email non funziona PHP 13
M [PHP] controllo inserimento dati un un form PHP 4
ANDREA20 [PHP] Controllo email se e valida PHP 5
elpirata [Javascript] Controllo su campo ricerca data Javascript 1
P scavalca il controllo dello username PHP 1
A problema controllo Javascript 2
C controllo con metodo text non funzionante Javascript 7
P Controllo valori duplicati in un campo a Maschere continue MS Access 0
P controllo browser sul server o in php? PHP 2

Discussioni simili