我有验证电话号码和手机号码的功能。这是我的功能的一部分:
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
我该怎么办?
答案 0 :(得分:1)
我认为在表达式的开头添加^会修复它。您当前的查询将匹配“thisisaninvalidvalue09153842716”等字符串。添加^可确保您不会以无效输入开头。