用于电话号码验证的正则表达式?

时间:2013-01-30 04:51:46

标签: regex validation phone-number

我想用以下格式的正则表达式来验证我的电话号码。我用google搜索了这些东西,但我找不到以下格式的正则表达式...

    079-26408300 / 8200
    (079) 26408300
    079 264 083 00 
    9429527462

任何人都可以指导我如何验证上述格式的电话号码字段? 我想仅针对以上格式验证电话号码,因为现在只使用以下正则表达式var phone_pattern = /^[a-z0-9]+$/i;

@Ali Shah Ahmed

var phone_pattern = "(\d{10})|(\d{3}-\d{8}\s/\s\d{4})|((\d{3}\s){3}\d{2})|((\d{3})\s\d{8})";

这是检查其有效

的方法
if (!phone_pattern.test(personal_phone))
        {
            $("#restErrorpersonalphone").html('Please enter valid phone number');
            $("#personal_phone").addClass('borderColor');
            flag = false;
        } else {
            $("#restErrorpersonalphone").html('');
            $("#personal_phone").removeClass('borderColor');
        }

它不起作用。我是以错误的方式实施的吗?

2 个答案:

答案 0 :(得分:1)

让我们从最简单的电话号码9429527462开始
由于它有10个字符且都是数字,因此正则表达式可以是\d{10}

现在是下一个电话号码079 264 083 00。此模式的正则表达式可以是(\d{3}\s){3}\d{2} 首先,我们期待一组3位数和一个空格重复三次(\d{3}\s){3},这将覆盖079 264 083(其中包含的空格),因此左边将是使用{{处理的最后两个字符1}}

对于电话号码\d{2},可以使用(079) 26408300正则表达式。正则表达式首先查找一个左括号,然后是三个数字,然后是结束括号。然后它会查找一个空格,然后查找8位数。

可以使用正则表达式\(\d{3}\)\s\d{8}验证电话号码079-26408300 / 8200。它首先查找3位数字然后a - ,然后是8位数后跟一个空格。然后查找一个/然后是一个空格,然后是4位数。

如果你想知道一个正则表达式来验证所有上述模式,请告诉我。

最终合并的正则表达式将是:

\d{3}-\d{8}\s/\s\d{4}

答案 1 :(得分:0)

直接的解决方案很简单,使用|

String ex = "\\d{3}-\\d{8} / \\d{4}|\\(\\d{3}\\) \\d{8}|...