Parfois, vous devez restreindre le type d'entrée de contenu dans la zone de texte. Dans cette section, l'expression régulière restreint la zone de texte pour entrer uniquement les nombres, les décimaux, les lettres anglaises, les caractères chinois et autres codes.
Par exemple, entrez un entier positif supérieur à 0
<input onkeyup = "if (this.value.length == 1) {this.value = this.value.replace (/ [^ 1-9] / g, '')} else {this.value = this.value.replace (// d / g, '')}" onafterpaste = "if (this.value.length == 1) {this.value = this.value.replace (/ [^ 1-9] / g, '')} else {this.value = this.value.replace (// d / g, '')}">
1. Seuls les codes numériques peuvent être entrés dans la zone de texte (le point décimal ne peut pas être entré non plus)
<entrée onkeyup = "this.value = this.value.replace (// d / g, '')" onafterpaste = "this.value = this.value.replace (// d / g, '')">
2. Entrez uniquement les nombres et peut entrer des décimales. IE seulement
<input onkeyup = "if (isnan (valeur)) execcommand ('undo')" onafterpaste = "if (isnan (valeur)) execcommand ('undo')">
<input name = txt1 onchange = "if (// d / .test (this.value)) {alert ('Entrer les nombres'); this.value = '';}">
3. Numéros et décimaux Méthode deux
<input type = text t_value = "" o_value = "" onKeyPress = "if (! this.value.match (/ ^ [/ + / -]? / d *? /.? / d *? $ /)) this.value = this.t_value; this.t_value = this.value; if (this.value.match (/ ^ (?: [/ + / -]? / d + (?: /./ d +)?)? $ /)) this.o_value = this.value " onkeyup = "if (! this.value.match (/ ^ [/ + / -]? / d *? / 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} ">
Encapsulé en fonctions distinctes:
Fonction Keypress (ob) {if (! ob.value.match (/ ^ [/ + / -]? / d *? /.? / d *? $ /)) ob.value = ob.t_value; else ob.t_value = ob.value; if (ob.value.match (/ ^ (?: [/ + / -]? / d + (?: /./ d +)?)? $ /)) ob.o_value = ob.value;} function keyup (ob) {if (! ob.value.match (/ ^ [/ + / -]? / d *? / d *? / d *? $? else ob.t_value = ob.value; if (ob.value.match (/ ^ (?: [/ + / -]? / d + (?: /./ d +)?)? $ /)) ob.o_value = ob.value; } fonction onblur (ob) {if (! ob.value.match (/ ^ (?: [/ + / -]? / d + (?: /./ d +)? | /./ d *?)? $ /)) ob.value = ob.o_value; else {if (ob.value. Match (/^/./ d + $ /)) ob.value = 0 + ob.value; if (ob.value.match (/^/.$/)) ob.value = 0; ob.o_value = ob.value};}Passez cet objet dans l'appel!
4. Entrez uniquement des lettres et des caractères chinois
<input onkeyup = "value = value.replace (/ [/ d] / g, '')" onBeforepaste = "ClipboardData.setData ('Text', ClipboardData.getData ('Text'). Remplace (/ [/ d] / g, ''))" MaxLength = 10 Name = "Numbers">
5. Entrez uniquement des lettres et des numéros anglais, pas le chinois
<entrée onkeyup = "value = value.replace (/ [^ / w /.//
6. Entrez uniquement les chiffres et l'anglais
<entrée onkeyup = "value = value.replace (/ [^ / d | chun] / g, '')">
7. Il ne peut y avoir que jusqu'à deux chiffres après le point décimal (les chiffres et les Chinois peuvent être entrés), et les lettres et les symboles de l'opérateur ne peuvent pas être entrés:
<entrée onKeyPress = "if ((event.KeyCode <48 || event.KeyCode> 57) && event.KeyCode! = 46 || //./ d / d $ /. test (valeur)) event.returnvalue = false">
8. Il ne peut y avoir que jusqu'à deux chiffres après le point décimal (chiffres, lettres et chinois), et les symboles de l'opérateur peuvent être entrés:
<entrée onkeyup = "this.value = this.value.replace (/ ^ (/ -) * (/ d +) /. (/ d / d). * $ /, '$ $ 2 $ 3')">
Il s'agit de cet article. Les amis qui en ont besoin peuvent y faire référence.