将电话号码前缀的正则表达式限制为两个数字

时间:2016-07-08 11:09:29

标签: javascript jquery regex validation

我对电话号码前缀进行了正则表达式验证,如下所示:

  

它应以+符号开头,后跟两位数字,例如:+91

我的代码是



$(function() {
  $('#textId').on('input', function() {
    console.log($(this).val())

    var regex = /^\+(?:[\d]*)$/;
    console.log($(this).val())
    var res = regex.test($(this).val());
    $('#result').text(regex.test($(this).val()))
  });
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="textfield" value="" id="textId" name="" />

<div id="result">
</div>
&#13;
&#13;
&#13;

JSFiddle Demo

它正在验证起始中的+符号,后跟任意数字的数字。我需要将它限制为两位数。有什么帮助吗?

3 个答案:

答案 0 :(得分:5)

只需指定{2}而不是*

var regex = /^\+(?:[\d]{2})$/ ;
//                     ^^^

{n}是一个量词,表示您希望指定的模式完全匹配n次。在这种情况下,[\d]{2}表示:恰好匹配2位数。

你可以在小提琴的叉子上测试它:http://jsfiddle.net/a2j0qfvx/

答案 1 :(得分:3)

只需将struct Bar {}; struct Foo { // conversion opertor operator Bar() const { // code to create Bar bar return bar; } }; int main() { std::vector<Foo> foos = {}; const std::vector<Bar> bars(foos.begin(), foos.end()); } 替换为*

即可
{2}

example

答案 2 :(得分:2)

试试这个

var regex = /^\+(?:[\d]{2})$/

我们可以指定花括号中的字符数