Ciao,
stò provando le regular expression, per esempio per controllare il numero di un telefono cellulare uso questa regulr expression:
/^([1-9\+]{1})([0-9])*$/
Funziona perfettamente, infatti mi accetta solo stringhe che hanno come primo carattere solo un numero da 1 a 9 o un + (per i numeri +39333......)
Adesso il mio problema è che il controllo lo volgio fare in fase di inserimento, per intenderci se il campo dove devo inserire il numero è il seguente:
<input type="text" name="telefono" onkeyup="controlla()">
la funzione controlla mi deve controllare se l'ultimo carattere inserito fa rispettare le regole della regular expression:
codice:
function controlla(){
var str_check = new String();
var re = RegExp(/^([1-9\+]{1})([0-9])*$/);
str_check = window.form_telefono.telefono.value;
if(!str_check.match(re)){
alert('Sono consentiti solo numeri');
str_check = str_check.replace(/[a-zA-Z]/, '');
window.form_telefono.telefono.value = str_check;
}
}
come vedete ho anche inserito un replace che mi cancella i caratteri non ammessi, ma non funziona correttamente.
Io dovrei fare il replace di quei caratteri che non rispettano la regular expression.
Secondo voi come posso fare?
Saluti...