我想以X-XXX-XXX-XXXX格式验证电话号码
var phone= prompt("Enter phonenumber in the format X-XXX-XXX-XXXX");
var regEx= /\d-[\ddd\-]{2}\d{4}/;
if(regEx.test(phone))
{document.write("Is valid PhoneNumber "+phone);}
else{
var msg= "Chaphert 6 exmaple 2a says <br/>" +phone +" is invalid";
alert(msg);
}
我本可以使用regEx=/\d-\d{3}-\d{3}-\d{4}
,这可以解决我的问题,但因为我必须重复这个xxx-xxx-
,即我不想在正则表达式中重复\d{3}-
两次期待用\ d {3} - \ d {3}替换某些内容,例如[\ d {3} - ] {2}。我将不胜感激任何帮助。
答案 0 :(得分:2)
答案 1 :(得分:0)
如果您想要一个显示1-3-3-4结构并希望阻止使用
的模式'-\d{3}'
两次,您可以将此部分放入一个组并重复两次。
最终模式如下所示:
'^\d-(\d{3}-){2}\d{4}$'
答案 2 :(得分:0)
感谢您的帮助,我需要将[]替换为()进行分组 即
var phone= prompt("Enter phonenumber in the format X-XXX-XXX-XXXX");
var regEx= /\d-(\d{3}\-){2}\d{4}/;
if(regEx.test(phone))
{alert("Is valid PhoneNumber "+phone);}
else{
var msg= "Entered phone number " +phone +" is invalid";
alert(msg);
}
解决了我的问题,它按预期工作了