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

来源:互联网 发布:虚拟社交网络正方攻辩 编辑:程序博客网 时间:2024/05/22 14:28

这篇文章主要介绍了一个jquery验证手机号是否正确的实践案例,利用正则表达式进行验证,感兴趣的小伙伴们可以参考一下


如果要做手机号的验证,那么我们需要知道手机号码的号段。
//移动号码归属地支持号段: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验证手机号是否正确,利用正则表达式,大家可以动手试一试。

0 0
原创粉丝点击