2013-10-21 30 views
0

我试图使用PHP的preg_match_all()验证瑞典语phonenumber。使用regexr验证瑞典电话号码

正则表达式:

$pattern = '~(?>(\()?0\d(?(1)\))\s?+)?+\d\d\s?+(?>\d{3}\s?\d{3}|(?:\d\d\s??){3})~'; 

$haystack = 'bla bla bal 07bla 010-338000 bafdsa'; ...and so on.. 

模式应该发现:

  • 7-11数字CHR(不包括分离器,破折号( - )和空格()
  • 总是以零开始( 0)
  • 在每个数字之间应该有一个可选的短划线或空格

例子:

01-23456 
012-34 56 
012 34 56 

0123-456789 

有什么建议?

回答

0

也许是这样的:

0([-\s]?\d){6,10} 

因此,一个0,其次是6至10个基团任选的空间或破折号的后跟数字。

+0

伟大的人,作品像一个魅力! –