你能帮我写两条检查phoneNumber的规则吗? 第一条规则:从+7或8开始,然后是任意十个数字。 例子:
+77017223457 - valid
77017223457 -not valid
87017223457 - valid
第二条规则:从+7或8开始,然后从集合中开出三个数字:
{700,701,702,705,707,712,713,717,718,721,725,726,727,777}然后任意七个数字。
示例:
+77074446255 - valid
+77034446255 - not valid (no 703 in the set)
感谢。
答案 0 :(得分:1)
(?:\+7|8)(?:70[0-2]|705|707|71[23]|71[78]|721|72[5-7]|777)[0-9]+
或者,压缩程度较小但更明显:
(?:\+7|8)(?:700|701|702|705|707|712|713|717|718|721|725|726|727|777)[0-9]+
要确保这不是部分匹配,请使用^
和$
^(?:\+7|8)(?:700|etc|etc)[0-9]+$
答案 1 :(得分:1)
var phone = $("#phoneNumber").val()
var regex = /^((\+7)|8)(700|701|702|705|707|712|713|717|718,721|725|726|727|777)[0-9]{7}$/;
if(regex.test(phone))
// Phone is valid
else
// Phone is invalid
答案 2 :(得分:1)
更紧凑:
/^(?/\+7|8)7(?:0[01257]|1[2378]|2[1567]|77)\d{7}$/