相同字符串

时间:2016-06-20 11:04:22

标签: regex

我正在尝试根据我们的业务逻辑实现电话号码的正则表达式。

客户想要的是手机必须包含8到15个字符的数字,并且还可以在任何地方包含任何不会增加数字的空格和点。所以,理论上这应该是有效的:

3          ....            44444444

因为它包含9个数字。

我真的不能再进一步了解

~[0-9\.\ ]{8,15}$

但显然它也将点和空格计算到极限。

甚至可以通过正则表达式来实现它吗?

2 个答案:

答案 0 :(得分:3)

正则表达式尝试:

^(?:[ .]*\d){8,15}[ .]*$

这将匹配8到15位数字,其间任意数量的空格或点都会发生。

  • 未捕获的组(?:[ .]*\d)匹配任意数字点或空格前面的任何数字,{8,15}确保数字上的范围

  • [ .]*$匹配末尾任意数量的点或空格

Demo

答案 1 :(得分:1)

据我所知,正则表达式无法验证这一点。但是,您可以全局删除所有空格和点,然后尝试匹配^[[:digit:]]{8,15}$

的正则表达式