input输入框限制输入正整数、小数、字母、文字

有的时候需要限制input的输入格式:

例如,输入大于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 onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d]/g,''))" maxlength=10 name="Numbers">

4、只能输入英文字母和数字,不能输入中文

<input onkeyup="value=value.replace(/[^w./]/ig,'')">

5、只能输入数字和英文

<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">

6、小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false">

7、小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号

<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">

JS通过正则限制input输入框只能输入正整数、小数(两位小数)

1、只能是整数

<input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整数');this.value='';}" />

2、限制是两位的小数

<input type = "text" name= "price" id = 'price' onkeyup= "if( ! /^d*(?:.d{0,2})?$/.test(this.value)){alert('只能输入数字,小数点后只能保留两位');this.value='';}" />

/^d*(?:.d{0,2})?$/表示必须是数字开头,数字结尾

原文地址:https://www.cnblogs.com/wangyongx/p/8056872.html