电话号码验证使用JQuery&RegEx
问题描述:
我在regex.i的位周我试图通过正则表达式验证电话号码& jquery,它的工作原理,当我给电话号码,如+4401634687222或3301634687222.基本上电话号码可能看起来像下面而那些是无效的。电话号码验证使用JQuery&RegEx
+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;
}
所以只是改变我的正则表达式,因为我可以输入上述电话号码。感谢
答
试试这个:
^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$
答
试试这个:
^[+][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
人们可能也会给+ +号,也应该允许。所以在正则表达式中改变that.plus标志应该是可选的。人们可能会使用也可能不会。 – Thomas
我希望手机不可以或不可以+ sign.phone开头可能有 - 或()chanracter或可能有空间和长度应该超过6.请你给我准确的正则表达式我的要求。谢谢 – Thomas
你必须玩这个! – PVR