你的位置:首页 > Java教程

[Java教程]jquery实践案例


如果要做手机号的验证,那么我们需要知道手机号码的号段。

 

//移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159 182 183 187 188 //联通号码归属地支持号段:130 131 132 155 156 186 145//电信号码归属地支持号段:133 153 189 180 //移动运营商: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\">&nbsp;<\/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\">&nbsp;<\/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);    }  }