javascript验证电话

时间:2014-07-05 18:37:12

标签: javascript html css regex

我有这个功能,其目的是验证用户在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 = ' ';
                    }

         }

如果你们对我的代码或解决这个问题的方法有任何建议,我会很感激,因为我是这个语言的新手

1 个答案:

答案 0 :(得分:0)

我会使用libphonenumber,它已经为你创建了一个JavaScript库。

https://code.google.com/p/libphonenumber/

至于你的代码,正则表达式是正确的,并且与提供的数字匹配。

请尝试使用Chrome的JavaScript调试器。 (右键单击页面,检查元素,源选项卡)。在函数开头放入断点,看看会发生什么。检查变量的值。