jQuery使用正则表达式限制文本框只能输入数字
更新时间:2016年06月18日 11:29:40 作者:酷小孩
本文主要介绍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,''))"
上面的两种方法我均用过,但多少都会出现一些问题,比如浏览器的兼容性问题,不能达到想要的效果等,所以,最后还是考虑用正则来自己写。
直接贴代码了,很简单的正则表达式:
<head>
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7" />
<title></title>
<!-- http://www.cnblogs.com/babycool -->
<script src="../js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#xxxxxx").keyup(function () {
//如果输入非数字,则替换为'',如果输入数字,则在每4位之后添加一个空格分隔
this.value = this.value.replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, "$1 ");
})
});
</script>
</head>
<body>
限制只能输入19个字符
<input id="xxxxxx" type="text" name="name" value="" maxlength="19" />
<br />
<br />
输入非数字替换为''
<input type="text" name="name" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
<br />
<br />
</body>
页面效果:

浏览器的兼容性:
我在IE7.8.9.10下,firefox,chrome下测试均可以。
以上就是本文的全部内容,希望这个方法也能给遇到相同问题的其他人带来帮助,也希望大家多多支持脚本之家。
相关文章
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
这篇文章主要介绍了jQuery插件FusionCharts实现的MSBar3D图效果,结合完整实例形式分析了jQuery使用FusionCharts载入xml数据绘制MSBar3D图的相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下2017-03-03
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
本文结合实例给大家介绍如何实现内容滑动切换的效果,包括左右箭头切换,无限无缝滚动,圆点按钮切换,动画效果,自动切换效果,效果非常不错,感兴趣的朋友前来参考实现代码2016-06-06
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
这篇文章主要介绍了jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法,可实现图片拖拽变换的功能,需要的朋友可以参考下2015-08-08


最新评论