电话号码和手机的正常表达式无法正常运行

时间:2013-07-20 21:34:56

标签: javascript

我有验证电话号码和手机号码的功能。这是我的功能的一部分:

function IsPhone(){
 var mob = /09[123]\d{8}$/;
    var phn = /0\d{10}$/;
    for (var i = 0; i < edit_rows.length; i++) {
        if (edit_types[i] == 5) {
            var phon_val = document.getElementById('phone1').value;
            if (phon_val != "") {
                if (phon_val.match(mob))
                    return true;
                else if (phon_val.match(phn)) {
                    if ((phon_val).length == 11)
                        return true;
                }
                else {
                    msg_req += "Invalid format";
                    return false;
                }
            }
        }
    }
    return true;
}  

但它接受所有这些:
009153842716
09153842716
001234567890
01234567890
我该怎么办?

1 个答案:

答案 0 :(得分:1)

我认为在表达式的开头添加^会修复它。您当前的查询将匹配“thisisaninvalidvalue09153842716”等字符串。添加^可确保您不会以无效输入开头。