我对电话号码前缀进行了正则表达式验证,如下所示:
它应以
+
符号开头,后跟两位数字,例如:+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;
它正在验证起始中的+
符号,后跟任意数字的数字。我需要将它限制为两位数。有什么帮助吗?
答案 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}
答案 2 :(得分:2)
试试这个
var regex = /^\+(?:[\d]{2})$/
我们可以指定花括号中的字符数