【问题标题】:Javascript regular expression to allow only numbers upto 10 digits, string and special charecters are not allowed [duplicate]Javascript正则表达式只允许最多10位数字,不允许字符串和特殊字符[重复]
【发布时间】:2019-02-21 14:03:46
【问题描述】:

我正在研究 JavaScript 正则表达式,根据我的需要,文本框只接受 10 位数字,但不允许使用字符串和特殊字符。我试过了,但对我不起作用。

function myFunction() {
  var number = $("#num").val();
  var compare = '[0][1-9]\d{9}$|^[1-9]\d{9}$';
  if (number.match(compare)) {
    return true;

  } else {
    alert('not match');
    return false;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="num" onblur="myFunction()">

【问题讨论】:

标签: javascript regex


【解决方案1】:

尝试使用这个正则表达式:

var compare=/^[0-9]{1,10}$/g

【讨论】:

    【解决方案2】:

    使用 [0-9]d{10} 仅指定 0-9 和 10 个字符。

    <!DOCTYPE html>
        <html>
        <body>
    
        <input type="text" id="num" onblur="myFunction()">
        <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
    
        <script>
        function myFunction() {
          var number=$("#num").val(); 
          var compare=/[0-9]{10}/;
          if(number.match(compare)){
          alert('match');
          }
          else{
          alert('not match');
          }
        }
        </script>
    
        </body>
        </html>

    或者,更好的是,完全使用 HTML:

    <!DOCTYPE html>
        <html>
        <body>
         <form>
          <input type="text" id="num" pattern="[0-9]{10}" required><button>test</button>
         </form>
        </body>
        </html>

    【讨论】:

    • 您的代码不起作用,数字不应超过 10 和文本,不允许使用特殊字符。
    • @Anonymous 嗯,是的,这两个例子都有效。您是要求首先阻止这些字符被输入,还是在输入后才进行验证?因为您的代码在事后尝试验证,所以这就是我提供的。
    • 我已经在我的文件中实现了你的代码,但仍然出现同样的错误,请检查一次
    • @Anonymous 没什么可检查的,运行我的两个示例。他们都按你的要求做。你遇到了什么错误?很可能是您页面上的其他内容。
    【解决方案3】:

    你可以使用这个:&lt;input type="number" size="10"&gt;

    【讨论】:

      【解决方案4】:

      [\d]{10} 一个很好的检查方法是使用正则表达式 101 - https://regex101.com/fiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-08
        相关资源
        最近更新 更多