手机正则表达式与PHP中的长度验证

时间:2011-12-01 01:44:11

标签: php regex

根据规范 电话号码应

Alhpa数值, 允许的空间, 允许宣传, 支架允许, 最大长度= 45 也可以为null。

下面是我使用我有限的知识和例子,但给出了

  

错误:编译失败:无法在偏移29处重复

我的手机正则表达式

  

define('PHONE','#([a-zA-Z0-9][\s\(\)\-])*{0,45}#i');

请指导我应该怎么做才能使用正则表达式匹配所有上述规范。 感谢

2 个答案:

答案 0 :(得分:3)

删除*{0,45}定义了允许的重复次数。

答案 1 :(得分:1)

正则表达式与您想要的不匹配,([a-zA-Z0-9][\s\(\)\-])每个数字后面必须跟一个空格,括号或连字符。修复使[\s\(\)\-]可选:

([a-zA-Z0-9][\s\(\)\-]?)

并使用preg_match