Иногда вам нужно ограничить тип ввода контента в текстовом поле. В этом разделе регулярное выражение ограничивает текстовое поле только вводить числа, десятичные точки, английские буквы, китайские иероглифы и другие коды.
Например, введите положительное целое число, превышающее 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. только числовые коды могут быть введены в текстовое поле (десятичная точка также не может быть введена) также не может быть введена)
<input onkeyup = "this.value = this.value.replace (// d/g, '')" onafterpaste = "this.value = this.value.replace (// d/g, '')">
2. только введите числа и могут ввести десятичные очки. Т.е. только
<input onkeyup = "if (isnan (value)) execcommand ('undo')" onafterpaste = "if (isnan (value)) execcommand ('undo')">
<input name = txt1 onchange = "if (// d/.test (this.value)) {alert ('только введите номера'); this.value = '';}">
3. Числа и десятичные точки метод два
<input type = text t_value = "" o_value = "" onkeypress = "if (! this.value.match (/^[/+/-]?/d*?/.?/d*? this.t_value = this.value; if (this.value.match (/^(?: [/+/-]?/d+(?: /./ d+)?)? 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+)?)? onblur = "if (! this.value.match (/^(?: [/+/-]?/d+(?: /./ d+)? .match (/^/./ d+$/)) this.value = 0+this.value; if (this.value.match (/^/.$/)) this.value = 0; this.o_value = this.value} ">
Инкапсулировано в отдельные функции:
function keypress (ob) {if (! ob.value.match (/^[/+/-]?/d*?/.?/d*? $/)) ob.value = ob.t_value; иначе ob.t_value = ob.value; if (ob.value.match (/^(?: [/+/-]?/d+(?: /./ d+)?)? иначе ob.t_value = ob.value; if (ob.value.match (/^(?: [/+/-]?/d+(?: /./ d+)?)? $/)) ob.o_value = ob.value; } функция Onblur (OB) {if (! ob.value.match (/^(?: [/+/-]?/d+(?: /./ d+)? Совместите (/^/./ D+$/)) ob.value = 0+ob.value; if (ob.value.match (/^/ $/)) ob.value = 0; ob.o_value = ob.value};}Просто передайте этот объект в вызове!
4. только введите буквы и китайские иероглифы
<input onkeyup = "value = value.replace (/[/d]/g, '')" OnbeforePaste = "Buplebboarddata.setData ('text', bulfboarddata.getData ('text'). Заменить (/[/d]/g, ''))" maxlength = 10 name = "numbers">
5. Введите только английские буквы и цифры, а не китайские
<input onKeyUp = "value = value.Replace (/[^/w /.//Ny/ ig, '')">
6. только введите цифры и английский язык
<input onkeyup = "value = value.replace (/[^/d | Chun]/g, '')">
7. Может быть только до двух цифр после десятичной точки (цифры и китайцы могут быть введены), а буквы и символы оператора не могут быть введены:
<input onkeypress = "if ((event.keycode <48 || event.keycode> 57) && event.keycode! = 46 || //./ d/d $/. test (value)) event.returnvalue = false">
8. Может быть только до двух цифр после десятичной точки (числа, буквы и китайцы), и можно ввести символы оператора:
<input onkeyup = "this.value = this.value.replace (/^(/-)*(/d+)/. (/d/d).*$/, '$ 1 $ 2. $ 3')">
Это все об этой статье. Друзья, которые это нужно, могут ссылаться на это.