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