如何编写匹配至少10位数且只能有数字和感叹号的正则表达式

时间:2016-09-02 08:11:26

标签: javascript regex

我需要编写一个符合以下条件的正则表达式:

  1. 至少10位数
  2. 只能包含数字和感叹号
  3. 我可以编写一个匹配十位数的正则表达式:

    ^([0-9]){10,}$
    

    或仅匹配数字和感叹号:

    ^[0-9!]$
    

    但我无法弄清楚如何将这两者结合在一起。

    以下是有效示例:

    152!1582!!1827
    

    以下是无效示例:

    4!!!!!!!!!!!!!3!
    

2 个答案:

答案 0 :(得分:6)

^!*([0-9]!*){10,}$

可能以0或更多!开头,然后至少重复10次a digit and zero or more !

答案 1 :(得分:2)

^!*(\d!*){10,}$应该满足您的需求。



function validate() {
  var field = document.getElementById("inputField");
  console.log(/^!*(\d!*){10,}$/.test(field.value));
}

<input type="text" id="inputField">
<button onclick="validate()">Validate</button>
&#13;
&#13;
&#13;