Php 我的正则表达式用于测试电话问题
我想验证这些电话号码格式:Php 我的正则表达式用于测试电话问题,php,regex,Php,Regex,我想验证这些电话号码格式: 517123123 +48517123123 +48 517 123 123 (48)517123123 (48)517 123 123 517-123-123 48 517-123-123 48/517-123-123 48 517 123 123 我写了这个正则表达式: (\+?)+((\([0-9]+){2,2})|([0-9]+){2,2})+(\/?)+(\s?)(([0-9]+){9,9}{124;([0-9]+){3,3}(\s}-{1,1}([
517123123
+48517123123
+48 517 123 123
(48)517123123
(48)517 123 123
517-123-123
48 517-123-123
48/517-123-123
48 517 123 123
我写了这个正则表达式:
(\+?)+((\([0-9]+){2,2})|([0-9]+){2,2})+(\/?)+(\s?)(([0-9]+){9,9}{124;([0-9]+){3,3}(\s}-{1,1}([0-9]+){3,3})代码{3,3}
问题是它使得像8978978979878978967这样的大数字有效。我的错误在哪里?看看正则表达式的末尾,我看到您似乎在多个地方做了一些事情
([0-9]+){3,3}
+
至少重复[0-9]一次,这使得1111111111
完全匹配。然后将其限制为这些匹配中的3个,这仍然是一个很长的数字。
如果您只需要3位数字,请删除+
查看正则表达式的末尾,我看到您似乎在多个位置执行某些操作
([0-9]+){3,3}
+
至少重复[0-9]一次,这使得1111111111
完全匹配。然后将其限制为这些匹配中的3个,这仍然是一个很长的数字。
如果您只需要3位数字,请删除+
,此时我看不到您的正则表达式在做什么,因为里面有太多多余的东西
你的团队太多了
是否要重复可选字符
e、 g:
(\+?)+
,你不需要一个团队,你也不想重复,所以\+?
就是你想要的
(\s?+
,是否要说“0个或更多空白”?那么您需要的就是\s*
当您编写例如{9,9}
时,您可以删除一个数字,{9}
是相同的
您正在嵌套量词,这是允许使用太多字符的地方。你有多个地方,在那里你做([0-9]+){9,9}
,这意味着一个或多个数字并重复9次
现在我看不出你的正则表达式在做什么,里面有太多多余的东西
你的团队太多了
是否要重复可选字符
e、 g:
(\+?)+
,你不需要一个团队,你也不想重复,所以\+?
就是你想要的
(\s?+
,是否要说“0个或更多空白”?那么您需要的就是\s*
当您编写例如{9,9}
时,您可以删除一个数字,{9}
是相同的
您正在嵌套量词,这是允许使用太多字符的地方。你有多个地方,在那里你做([0-9]+){9,9}
,这意味着一个或多个数字并重复9次
也许你迷路了。。。。但是,请使用我的正则表达式(\+?(\(\d{2})\(\d{2})\(\d{2}[/]))?((\d{3}\d{3}\d{3})\{124;(\ d{3}-\d{3}-\d{3}-\d{3})$$
您可能会迷失方向。。。。但是,使用我的正则表达式(\+?(\(\d{2}\)(\d{2}-)(\d{2}[/]))((\d{3}\d{3}\d{3}-)|(\d{3}-\d{3}-\d}-\d}-\d{3}-\d}-\d}$$
来验证电话号码,为什么不删除所有非数字字符,而不删除所有非数字字符?