L'expression régulière restreint la zone de texte aux seuls nombres saisis
Auteur:Eve Cole
Date de mise à jour:2009-06-20 16:52:58
Plusieurs fois, nous devons limiter le type de contenu saisi dans la zone de texte lors de la création de formulaires. Ci-dessous, nous utilisons des expressions régulières pour limiter la zone de texte aux seuls chiffres saisis, points décimaux, lettres anglaises, caractères chinois et autres codes.
1. Seuls des codes numériques peuvent être saisis dans la zone de texte (les points décimaux ne peuvent pas non plus être saisis)
<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">
2. Seuls des nombres peuvent être saisis, des points décimaux peuvent être saisis.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('Seuls les nombres peuvent être saisis');this.value='';}">
3. Méthode des nombres et du point décimal 2
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[+-]?d*?.?d*?$/))this .value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$ /))this.o_value=this.value" onkeyup="if(!this.value.match(/^[+-]?d*?.?d*?$/))this.value =this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$/) )this.o_value=this.value" onblur="if(!this.value.match(/^(?:[+-]?d+(?:.d+)?|.d* ?)?$/))this.value=this.o_value;else{if(this.value.match(/^.d+$/))this.value=0+this.value;if(this.value .match(/^.$/))this.value=0;this.o_value=this.value}">
4. Seules les lettres et les caractères chinois peuvent être saisis
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d] /g,''))" maxlength=10 name="Nombres">
5. Seuls les lettres et chiffres anglais peuvent être saisis, mais les caractères chinois ne peuvent pas être saisis.
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. Seuls les chiffres et l'anglais peuvent être saisis
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. Il ne peut y avoir qu'un maximum de deux chiffres après la virgule décimale (les chiffres et les caractères chinois ne peuvent pas être saisis). Les lettres et les symboles arithmétiques ne peuvent pas être saisis :
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. Il ne peut y avoir que deux chiffres après la virgule décimale (des chiffres, des lettres et des caractères chinois peuvent être saisis), et des symboles arithmétiques peuvent être saisis :
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">