正则表达式的电话号码是10位数,允许" - " (JavaScript)的

时间:2015-05-28 13:42:47

标签: javascript regex

所以我得到了一个评估,一个正则表达式是一个有10个数字的电话号码,但它也允许破折号" - "。但是它只能包含2个破折号并以0开头。例如。 0x-xxxx-xxxx其中x可以是0-9之间的任何数字。

所以,到目前为止,我已经提出了以下正则表达式:

^[0-0][0-9-]{1,11}$
^[0-0][0-9-]{11}$

在第一个它工作,但允许任何长度,如果我把5个数字经过,只要第一个是0.在第二个我可以放2个破折号后跟彼此或只是填充破折号它经历了。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

匹配三个部分中的每一部分,用短划线分隔,如下所示:

^0\d-\d{4}-\d{4}$

匹配0x-xxxx-xxxx。演示:https://regex101.com/r/nW7wL5/1

如果您还希望匹配不带短划线的数字,请使用

^0\d-?\d{4}-?\d{4}$

演示:https://regex101.com/r/gY0mC3/1

\d[0-9]相同,但它更短。