【发布时间】:2012-09-22 15:53:05
【问题描述】:
我非常接近我需要的完整正则表达式。但是,我似乎无法获得允许的可选空白。
正则表达式
^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$
要求 - 只有这四个
111-111-1111 - 工作
(111)111-1111 - 作品
(111) 111-111 - 不捕获
1111111111 - 作品
如何在括号后添加可选空格?
【问题讨论】:
-
我通常做的是去掉非数字字符,并确保长度为 10。然后我将 10 位字符串格式化为我认为它应该在数据库中的格式。
-
我必须遵守仅针对所示 4 种格式的严格规则。
-
转义括号?把括号括起来?为什么?对不起,但对我来说,这是一个丑陋的正则表达式。这是我的版本:
/^[(]?\d{3}[)]?[-\s]?\d{3}-?\d{4}$/。您想要的部分是右括号后的[-\s]?,而不是\-?,无论如何,连字符不需要转义。