带面具的正则表达式

时间:2010-04-11 08:06:50

标签: regex

我有一个正则表达式的电话号码如下:  ^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$

我在电话号码文本框中有一个掩码,格式如下:(___)___-____

如何修改正则表达式以适应掩码?

4 个答案:

答案 0 :(得分:2)

(占位符)掩码的表达式是

^\(_{3}\)_{3}-_{4}$


有效电话号码的表达式为

^\(\d{3}\)\d{3}-\d{4}$


掩码使用_代替数字,因此您需要使用[\d_]作为您的角色类,以便在用户输入时进行匹配。

^\([\d_]{3}\)[\d_]{3}-[\d_]{4}$


显然,如果用户切换字段,如果您的phone字段中包含剩余_字段,则会返回错误。 phone.match(/_/) == null应该在这里做到这一点:)

答案 1 :(得分:1)

你的问题有点不清楚;如果你想要一个与那个掩码匹配的正则表达式,那就是:

^\([0-9]{3}\)[0-9]{3}-[0-9]{4}$

答案 2 :(得分:1)

ValidationExpression="\([2-9]\d{2}\)\d{3}-\d{4}$|^\(_{3}\)\ _{3}-_{4}$"

这将验证掩码和(234)432-4322但不允许用户输入(434)88 _-____

答案 3 :(得分:0)

这个表达式适合你 ^ [([] [0-9] [1-9] [0-9] []]?[0-9] {3} [ - ]?[0-9] {4} $  此表达式定义除了每个数字将考虑的电话号码的第二位数 {0}