js校验手机号

js 如何校验手机号码呢?

手机号有如下规则:

(1)必须全为数字;

(2)必须是11位.(有人说还有10位的手机号,这里先不考虑);

(3)必须以1开头(有人见过以2开头的手机号吗?)

(4)第2位是34578中的一个.

js方法如下:

Js代码  收藏代码
  1. /***
  2.  * check mobile phone:(1)must be digit;(2)must be 11
  3.  * @param string
  4.  * @returns {boolean}
  5.  */
  6. telRuleCheck2 = function (string) {
  7.     var pattern = /^1[34578]\d{9}$/;
  8.     if (pattern.test(string)) {
  9.         return true;
  10.     }
  11.     console.log('check mobile phone ' + string + ' failed.');
  12.     return false;
  13. };

通过正则表达式来校验

页面代码如下:

Html代码  收藏代码
  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4.     <meta charset="UTF-8">
  5.     <title></title>
  6.     <script type="application/javascript" src="jquery-1.11.1.js" ></script>
  7.     <script type="application/javascript" src="page.js" ></script>
  8. </head>
  9. <body>
  10. <div class="reg_con" style="position:relative;">
  11.     <label>联系电话</label>
  12.     <input id="telphone" type="text" name="userExt.telphone" value="13800000000" class="inp" maxlength="13"/>
  13.     <div id="telphone_tip" style="position:absolute;top:20px; color:#c00; font-weight:bold;">
  14.     </div>
  15. </div>
  16. <script type="application/javascript" >
  17.     $("#telphone").blur("blur",function(){
  18.         var telphone = $("#telphone").val();
  19.         if(telphone == ""){
  20.             $("#telphone_tip").html("提示:联系电话不能为空");
  21.         }
  22.         else
  23.         {
  24.             if(telRuleCheck2(telphone)){
  25.                 $("#telphone_tip").html("");
  26.             }
  27.             else
  28.             {
  29.                 $("#telphone_tip").html("联系电话格式不正确");
  30.             };
  31.         };
  32.     });
  33. </script>
  34. </body>
  35. </html>

界面如下:

正则表达式说几点:

(1)^表示开头 ; $ 表示结尾;

(2)i表示忽略大小写;g表示全局匹配,而不是只匹配一次

(3)\d表示数字,即0123456789,\w表示26个字母;\s表示空格Tab换行等

 

-------------------20151008更新 ----------------

应用:

Js代码  收藏代码
  1. if (!telRuleCheck2(username_val)) {
  2.         toast_hwShortCenter("请输入11位有效手机号");
  3.         $username[0].focus();
  4.         return;
  5.     }

 

更宽松的校验方式:

Js代码  收藏代码
  1. /***
  2.      * 校验手机号的格式是否正确
  3.      * @param mobile
  4.      * @returns {*}
  5.      */
  6.     isMobile: function (mobile) {
  7.         return mobile.match(/^1[\d]{10}$/);
  8.     }
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注