正则表达式定义了两个允许的字符/数字列表

时间:2015-04-10 15:35:39

标签: java javascript regex validation logic

我正在制作电话号码正则表达式,这是我到目前为止所做的:^[0-9~+ ]{8,20}$

它允许0到9之间的数字,并且也允许'+'和空格。范围必须在8到20之间。这很好。

我还想要的是只有8到20个数字,其中'+'和空格与它们分开。

这样的事情:^[+ ]\d{8,20}$

建议?

1 个答案:

答案 0 :(得分:2)

怎么样:

^(?:[+ ]*\d){8,20}$

这将匹配8到20位数字,而不是+或空格。

如果+只能在beginig:

^[+]?(?:[ ]*\d){8,20}$