Javascript 电话号码和手机的正则表达式不';不能正常工作

Javascript 电话号码和手机的正则表达式不';不能正常工作,javascript,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').v

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

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;
}  
函数IsPhone(){
var mob=/09[123]\d{8}$/;
var phn=/0\d{10}$/;
对于(变量i=0;i
但它接受所有这些:
009153842716
09153842716
001234567890
01234567890

我能做什么?

我想在表达式的开头添加一个^。您当前的查询将匹配字符串,如“thisisaninvalidvalue 09153842716”。添加“^”可确保不会以无效输入开头。

为什么不接受这些输入?请澄清您认为有效的号码是有效的091538、427和01234567890。