0

我在正则表达式中有点周。我正在尝试通过正则表达式和 jquery 验证电话号码,当我提供 +4401634687222 或 3301634687222 之类的电话号码时它可以工作。基本上电话号码可能如下所示,那些号码是有效的。

+44 (0) 1634 687222
+44(0)1634687222
4401634687222
25805487

这是我的验证代码。

var regEx = '1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?';
var val = jQuery.trim($("input[id*='txtEnqphone']").val())
if (!val.match(regEx)) {
    if ($('#Enquery_feed_loader').html() != '') {
        $('#Enquery_feed_loader').fadeOut('slow', function () {
            $('#Enquery_feed_loader').html('<span>' + dialog_Msg.Invalid_Phone + '</span>');
        }).fadeIn('slow');
    } else {
        $('#Enquery_feed_loader').fadeOut('slow', function () {
            $('#Enquery_feed_loader').html('<span>' + dialog_Msg.Invalid_Phone + '</span>');
        }).fadeIn('slow');
    }

    $("input[id*='txtEnqphone']").focus()
    flag = false;
    return false;
}

所以只要改变我的正则表达式,我就可以输入上面的电话号码。谢谢

4

2 回答 2

0

尝试这个 :

^[+][0-9]\d{2}-\d{3}-\d{4}$

上面的正则表达式将允许以下模式:

+974-584-5656 | +000-000-0000 | +323-343-3453

并且不允许跟随。_

974-584-5656 | +974 000 0000

编辑 :

对于上述正则表达式修改是:^[0-9]\d{2} \d{3} \d{4}

您可以尝试的另一个正则表达式是:

^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$

允许:2405525009 | 1(240) 652-5009

于 2013-06-27T11:50:10.420 回答
0

Try this :

^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$
于 2013-06-27T11:30:40.760 回答