js电话号码验证
function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && document.form.UserMobile.value==""){ alert("电话号码和手机号码至少选填一个阿!"); document.form.phone.focus(); return false; } if (document.form.phone.value != ""){ var phone=document.form.phone.value; var p1 = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; var me = false; if (p1.test(phone))me=true; if (!me){ document.form.phone.value=''; alert('对不起,您输入的电话号码有错误。区号和电话号码之间请用-分割'); document.form.phone.focus(); return false; } } if (document.form.UserMobile.value != ""){ var mobile=document.form.UserMobile.value; var reg0 = /^13\d{5,9}$/; var reg1 = /^153\d{4,8}$/; var reg2 = /^159\d{4,8}$/; var reg3 = /^0\d{10,11}$/; var my = false; if (reg0.test(mobile))my=true; if (reg1.test(mobile))my=true; if (reg2.test(mobile))my=true; if (reg3.test(mobile))my=true; if (!my){ document.form.UserMobile.value=''; alert('对不起,您输入的手机或小灵通号码有错误。'); document.form.UserMobile.focus(); return false; } return true; } } 说明 test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。 正则表达式部分: \d 代表一个数字 {7,8} 代表7-8位数字(表示电话号码) {3,} 代表分机号码 d{2,3} 代表区号 \+]\d{2,3} 代表国际区号 ^13\d{5,9}$/ //130?139。至少5位,最多9位 /^153\d{4,8}$/ //联通153。至少4位,最多8位 /^159\d{4,8}$/ //移动159。至少4位,最多8位