jQuery正则验证文本框只能输入数字
本文导语: 用jquery正则实现文本框中只能输入16位数字。 方法一,javascript方法验证只允许输入数字 代码示例: //只允许输入数字 function checkkey2(value, e) { var key = window.event ? e.keyCode : e.which; if ((key > 95 && key < 106) || (key > 47 && k...
用jquery正则实现文本框中只能输入16位数字。
方法一,javascript方法验证只允许输入数字
//只允许输入数字
function checkkey2(value, e) {
var key = window.event ? e.keyCode : e.which;
if ((key > 95 && key < 106) || (key > 47 && key < 60)) {
}
else if (key != 8) {
if (window.event) //IE
{
e.returnValue = false;
}
else //Firefox
{
e.preventDefault();
}
};
};
方法二,正则表达式限制只能输入数字:
onkeyup="value=value.replace(/[^/d] /g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
上面的两种方法多少都会出现一些问题,比如浏览器的兼容性问题,不能达到想要的效果等,所以,最后还是考虑用正则来自己写。
例子:
用正则表达式限制只能输入数字_www.
$(function () {
$("#xxxxxx").keyup(function () {
//如果输入非数字,则替换为'',如果输入数字,则在每4位之后添加一个空格分隔
this.value = this.value.replace(/[^d]/g, '').replace(/(d{4})(?=d)/g, "$1 ");
})
});
限制只能输入19个字符
输入非数字替换为''
页面效果:
浏览器的兼容性:
在IE7.8.9.10下,firefox,chrome下测试通过。