【发布时间】:2011-07-05 12:00:09
【问题描述】:
我正在尝试验证英国电话号码,格式为:
01234 567890
01234567890
02012345678
020 1234 5678
我有以下正则表达式,它适用于除020 1234 5678之外的所有人
^\s*\(?(020[7,8]{1}\)?[ ]?[1-9]{1}[0-9{2}[ ]?[0-9]{4})|(0[1-8]{1}[0-9]{3}\)?[ ]?[1-9]{1}[0-9]{2}[ ]?[0-9]{3})\s*$
有人知道这是为什么吗?
【问题讨论】:
-
我不知道您使用的是什么语言,但使用一些
strip_spaces函数会很有用。所以你根本不用担心数字之间的间距。 -
$normalized = str_replace(' ', '', $number);(我不知道,为什么每个人都想对所有事情都使用正则表达式...)