我有这个功能,其目的是验证用户在2个正则表达式变量中引入的电话号码。
如果用户已选择瑞典国家并且介绍了212341512,则警告不应出现,因为手机有效但是没有发生。即使电话号码与变量指示符中的条件匹配,我仍然会收到警告消息。
function validateTelephone() {
var telephone = document.getElementById('txtTel');
var country=document.getElementById('ddCountry');
var indicators= /^(21|22)\d{7}$/;
if (country.value == "Sweden") {
if (!indicators.test(telephone.value)) {
document.getElementById('lblWarning').style.color = "red";
document.getElementById('lblWarning').innerHTML = 'Invalid Telephone Number';
} else {
document.getElementById('lblWarning').innerHTML = '';
}
} else{
document.getElementById('lblWarning').innerHTML = ' ';
}
}
如果你们对我的代码或解决这个问题的方法有任何建议,我会很感激,因为我是这个语言的新手
答案 0 :(得分:0)
我会使用libphonenumber,它已经为你创建了一个JavaScript库。
https://code.google.com/p/libphonenumber/
至于你的代码,正则表达式是正确的,并且与提供的数字匹配。
请尝试使用Chrome的JavaScript调试器。 (右键单击页面,检查元素,源选项卡)。在函数开头放入断点,看看会发生什么。检查变量的值。