我想查一下电话号码。正确的格式是38xxxxxxxxxx。
我的支票:
var phoneNumber=document.getElementById('phone').value;
var re=new RegExp("^[38]\d{10}$");
var res=phoneNumber.match(re);
我总是得到null。怎么了?
答案 0 :(得分:4)
当使用带引号的RegExp构造函数时,应用正常的字符串转义规则。因此,您需要将特殊字符<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<g class="next">
<g>
<polygon fill="#FFD92D" class="inner" points="20.587,5.055 78.706,48 20.587,90.945"/>
<path id="objsvg" fill="#FF9900" class="outer" d="M21.623,7.11L76.961,48L21.623,88.89V7.11 M19.55,3v90l60.9-45L19.55,3L19.55,3z"/>
</g>
</g>
</svg>
转义为\d
。此外,您需要将\\d
改为[38]
,因为38
匹配[38]
或3
。
8
&#13;
答案 1 :(得分:0)
var res = phoneNumber.match(/ 38 [0-9] {8,10} / m);
允许的电话号码长度:10-12
答案 2 :(得分:0)
你的正则表达式是错误的,如果你想匹配self.btnSubmit.addTarget(self, action: #selector(myClass.pressed(_:)), forControlEvents: .TouchUpInside)
,你应该移除38xxxxxxxxxx
括号,因为这意味着[]
或3
,之后它会尝试匹配10位数,所以只需删除8
[]
答案 3 :(得分:0)
使用构造函数时,必须使用正常的字符串转义规则。
new RegExp("^38\\d{10}$");