使用自定义验证

时间:2015-06-18 08:27:11

标签: regex validation

我想创建正则表达式来验证美国电话号码,这将验证以下需求:

333 (till 1 to 3 digits)
333-3 (3 digits + 1 hyphen + 1 to 3 digit)
333-333-3333 (3 digits + 1 hyphen + 3 digit + 1 hyphen + 1 to 4 digits)
333-333-3333 3333 (3 digits + 1 hyphen + 3 digit + 1 hyphen + 4 digits + 1 space + 1 to 4 digits)
33333333333333 (any number of digit between 1 to 14)

我从:

开始正则表达
^\d{0-3}-\d{3}-\d{4}\s\d{4}$

这里我只想验证上述条件,不允许使用特殊字符。我不想成为通用的。只需要遵循上述条件。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您已经描述过它,只需将其转换为rexgex:

^\d{1,14}$       |         # (any number of digit between 1 to 14)
^\d{3}-\d{1,3}$  |         # (3 digits + 1 hyphen + 1 to 3 digit)
^\d{3}-\d{1,3}-\d{1,4}$  | # (3 digits + 1 hyphen + 1 to 3 digit + 1 hyphen + 1 to 4 digits)
^\d{3}-\d{1,3}-\d{1,4}\s\d{1,4}$ # (3 digits + 1 hyphen + 1 to 3 digit + 1 hyphen + 1 to 4 digits + 1 space + 1 to 4 digits)

Demo

答案 1 :(得分:0)

感谢您的帮助。

我已根据上述要求创建了以下正则表达式,它对我有用。

^\d{0,3}$|^\d{3}-\d{1,3}$|^\d{3}-\d{3}-\d{1,4}$|^\d{3}-\d{3}-\d{4}\s{1}\d{1,4}$|^\d{1,14}$