jQuery+正则+文本框只能输入数字的实现方法

网络编程 2021-07-04 20:00www.168986.cn编程入门
狼蚁网站SEO优化长沙网络推广就为大家带来一篇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-patible" content="IE=EmulateIE7" />
  <title></title>
  <!-- http://.blogs./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+正则+文本框只能输入数字的实现方法全部内容了,希望大家多多支持狼蚁SEO~

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by