js 如何校驗手機号碼呢?
手機号有如下規則:
(1)必須全為數字;
(2)必須是11位.(有人說還有10位的手機号,這裡先不考慮);
(3)必須以1開頭(有人見過以2開頭的手機号嗎?)
(4)第2位是34578中的一個.
js方法如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIXY0N3Xu92Yp9CXzV2Zh1WavwVbvNmLllXZ0lmL3gjN5gzN3gjMxcHavw1LcpDc0RHaiojIsJye.png)
/***
* check mobile phone:(1)must be digit;(2)must be 11
* @param string
* @returns {boolean}
*/
telrulecheck2 = function (string) {
var pattern = /^1[34578]\d{9}$/;
if (pattern.test(string)) {
return true;
}
console.log('check mobile phone ' + string + ' failed.');
return false;
};
通過正規表達式來校驗
頁面代碼如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIXY0N3Xu92Yp9CXzV2Zh1WavwVbvNmLllXZ0lmL3gjN5gzN3gjMxcHavw1LcpDc0RHaiojIsJye.png)
<!doctype html>
<html>
<head lang="en">
<meta charset="utf-8">
<title></title>
<script type="application/javascript" src="jquery-1.11.1.js" ></script>
<script type="application/javascript" src="page.js" ></script>
</head>
<body>
<div class="reg_con" style="position:relative;">
<label>聯系電話</label>
<input id="telphone" type="text" name="userext.telphone" value="13800000000" class="inp" maxlength="13"/>
<div id="telphone_tip" style="position:absolute;top:20px; color:#c00; font-weight:bold;">
</div>
</div>
<script type="application/javascript" >
$("#telphone").blur("blur",function(){
var telphone = $("#telphone").val();
if(telphone == ""){
$("#telphone_tip").html("提示:聯系電話不能為空");
}
else
{
if(telrulecheck2(telphone)){
$("#telphone_tip").html("");
}
else
{
$("#telphone_tip").html("聯系電話格式不正确");
};
};
});
</script>
</body>
</html>
界面如下:
正規表達式說幾點:
(1)^表示開頭 ; $ 表示結尾;
(2)i表示忽略大小寫;g表示全局比對,而不是隻比對一次
(3)\d表示數字,即0123456789,\w表示26個字母;\s表示空格tab換行等
-------------------20151008更新 ----------------
應用:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIXY0N3Xu92Yp9CXzV2Zh1WavwVbvNmLllXZ0lmL3gjN5gzN3gjMxcHavw1LcpDc0RHaiojIsJye.png)
if (!telrulecheck2(username_val)) {
toast_hwshortcenter("請輸入11位有效手機号");
$username[0].focus();
return;
更寬松的校驗方式:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIXY0N3Xu92Yp9CXzV2Zh1WavwVbvNmLllXZ0lmL3gjN5gzN3gjMxcHavw1LcpDc0RHaiojIsJye.png)
* 校驗手機号的格式是否正确
* @param mobile
* @returns {*}
*/
ismobile: function (mobile) {
return mobile.match(/^1[\d]{10}$/);