js检测电话号码是否正确的正则表达式怎么写呢?

JavaScript022

js检测电话号码是否正确的正则表达式怎么写呢?,第1张

正则表达式

var regTel = /^0?1[3|4|5|8][0-9]\d{8}$/

regTel.test($("#Tel")[0].value)

这个可以验证电话号码必须是11位,且要以13, 14, 15, 18这几个号段开头

正确的。

1、最新的电话号码段:

移动:134(1349除外)135 136 137 138 139 147 150 151 152 157 158 159 182 183 184 187 188

联通: 130 131 132  155 156  185 186 145

电信:133 153 177 180 181 189

2、电话号码正则:固话:([0-9]{3,4}-)?[0-9]{7,8}

(1)电话号码由数字、"("、")"和"-"构成

(2)电话号码为3到8位

(3)如果电话号码中包含有区号,那么区号为三位或四位

(4)区号用"("、")"或"-"和其他部分隔开

(5)移动电话号码为11或12位,如果为12位,那么第一位为0

(6)11位移动电话号码的第一位和第二位为"13"

(7)12位移动电话号码的第二位和第三位为"13"

用正则

<script type="text/javascript">

function checkTel(tel)

{

   var mobile = /^1[3|5|8]\d{9}$/ , phone = /^0\d{2,3}-?\d{7,8}$/

   return mobile.test(tel) || phone.test(tel)

}

alert(checkTel('13590871234'))     //true

alert(checkTel('020-12345678'))    //true

alert(checkTel('1234'))            //false

</script>

望采纳