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下测试均可以。

 本文转自 酷小孩 博客园博客,原文链接: http://www.cnblogs.com/babycool/archive/2013/03/20/2970887.html ,如需转载请自行联系原作者


相关文章
|
JavaScript 数据库
Jquery 正则匹配字母、数字、-
简要简述Jquery正则基础用法
|
前端开发 JavaScript 程序员
【前端】使用jQuery探索正则表达时,手机号码和邮箱验证以及常用的函数
本篇文章将探索正则表达式的功能 在开发一个项目时,表单选项里,多少都会有手机号码以及邮箱选项的输入,那么除了在后端API进行值得有效验证,在前端也会对手机号码和邮箱做验证,减少对服务器得调用
96 0
|
前端开发 JavaScript 程序员
【前端】使用jQuery探索正则表达时,金额验证、纯数字验证等
本篇文章将探索正则表达式的功能 在前端,输入金额时,需要对输入值进行验证,只能出现金额和小数点,或者有些值需要保留2位小数点时,那么通过正则表达式验证就非常的方便和高效
112 0
|
JavaScript
jquery 正则校验重复字符
正则表达式 jquery实现 校验效果 或循环遍历校验
jquery 正则校验重复字符
|
JavaScript 前端开发
jquery里正则的使用方法及常用的正则验证
  本文是一篇关于jquery使用正则来验证输入,及一些常用验证规则的基础文章,适合新手。 假设我们的网页里有这样的一个表单: 验证   1.验证用户输入的只能是英文和数字: $("#btn").
1136 0
|
JavaScript 数据安全/隐私保护 前端开发
|
JavaScript 数据安全/隐私保护 前端开发