Javascript正则表达式,仅允许使用不超过10位的数字,不允许使用字符串和特殊字符

时间:2019-02-20 18:51:51

标签: javascript regex

我正在使用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()">

4 个答案:

答案 0 :(得分:1)

使用[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>

答案 1 :(得分:1)

尝试使用此正则表达式:

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

答案 2 :(得分:0)

您可以使用:<input type="number" size="10">

答案 3 :(得分:0)

[\ d] {10}的一种很好的检查方法是使用正则表达式101-Image小提琴