首页 > 编程 > JavaScript > 正文

jquery验证手机号是否正确实例讲解

2019-11-20 11:15:24
字体:
来源:转载
供稿:网友

如果要做手机号的验证,那么我们需要知道手机号码的号段。
//移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159 178  182 183 184 187 188

//联通号码归属地支持号段:130 131 132  145 155 156 176  186 

//电信号码归属地支持号段:133 153 177 180 181 189 
//移动运营商:170

移动:
2G号段(GSM):134-139、150、151、152、158-159;
3G号段(TD-SCDMA):157、187、188、147.
联通:
2G号段(GSM):130-132、155-156;
3G号段(WCDMA):185、186.
电信:
2G号段(CDMA):133、153;
3G号段(CDMA2000):180、189.
可以写出一个正则表达式:var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+/d{8})$/; 
<input type="text" id="phone" name="phone" />
首先引入一个JQuery框架:

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>

 校验手机号的函数:

 //验证手机号     function vailPhone(){       var phone = jQuery("#phone").val();       var flag = false;       var message = "";       var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+/d{8})$/;              if(phone == ''){         message = "手机号码不能为空!";       }else if(phone.length !=11){         message = "请输入有效的手机号码!";       }else if(!myreg.test(phone)){         message = "请输入有效的手机号码!";       }else if(checkPhoneIsExist()){         message = "该手机号码已经被绑定!";       }else{           flag = true;       }       if(!flag){      //提示错误效果         //jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-error");         //jQuery("#phoneP").html("");         //jQuery("#phoneP").html("<i class=/"icon-error ui-margin-right10/"> <//i>"+message);         //jQuery("#phone").focus();       }else{            //提示正确效果         //jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-success");         //jQuery("#phoneP").html("");         //jQuery("#phoneP").html("<i class=/"icon-success ui-margin-right10/"> <//i>该手机号码可用");       }       return flag;     }

发送请求给后台:

//验证手机号是否存在       function checkPhoneIsExist(){         var phone = jQuery("#phone").val();         var flag = true;         jQuery.ajax(          { url: "checkPhone?t=" + (new Date()).getTime(),            data:{phone:phone},            dataType:"json",               type:"GET",               async:false,               success:function(data) {               var status = data.status;               if(status == "0"){                 flag = false;               }             }        });        return flag;       }

java后端进行校验:

@RequestMapping(value = "/checkPhone", method = RequestMethod.GET)  public void checkPhone(HttpServletRequest request,HttpServletResponse response) {        Map<String, Object> map = new HashMap<String, Object>();    try {      String phone = request.getParameter("phone");      String status = "0";      //写查询逻辑,查出有的话,那么标记为1,否则标记为0            //UserCellphoneAuth userCellphoneAuth = userService.findUserCellphoneAuthByPhone(phone);      //if(userCellphoneAuth!=null){      //  status = "1";      //}      map.put("status", status);      String data = JSONObject.fromObject(map).toString();            response.getWriter().print(data);      response.getWriter().flush();      response.getWriter().close();    } catch (Exception ex) {      logger.error(ex.getMessage(), ex);    }  }

以上就是本文的全部内容,教大家如何进行jquery验证手机号是否正确,利用正则表达式,大家可以动手试一试。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表