博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery实践案例--验证手机号码
阅读量:6757 次
发布时间:2019-06-26

本文共 3437 字,大约阅读时间需要 11 分钟。

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

 

//移动号码归属地支持号段: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框架:

 

校验手机号的函数:

//验证手机号         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>"+message);                 //jQuery("#phone").focus();             }else{                        //提示正确效果                 //jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-success");                 //jQuery("#phoneP").html("");                 //jQuery("#phoneP").html(" <\/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
map = new HashMap
(); 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); } }

 

转载地址:http://uzweo.baihongyu.com/

你可能感兴趣的文章
mysql数据库的主从同步,实现读写分离
查看>>
89 fcanf和fprintf
查看>>
javascript——自定义右键菜单
查看>>
求二叉树中相差最大的两个节点间的差值绝对值
查看>>
PHP 类名::class含义
查看>>
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
查看>>
小括号匹配
查看>>
设计模式简介和分类,重点在总结
查看>>
数据库默认端口
查看>>
从输入网址到显示网页的全过程分析【转】
查看>>
【 Art 】小心心~
查看>>
机器学习的常见面试问题
查看>>
创建 JavaScript 类和对象 prototype
查看>>
ibatis映射及参数设置
查看>>
Python学习笔记【第三篇】:if判断、while循环、for循环
查看>>
运用正则表达式不使用内置方法实现计算器
查看>>
Mac OS 设置$PATH环境变量
查看>>
闭区间合并
查看>>
兄弟郊游问题
查看>>
Jquery页面中添加键盘按键事件,如ESC事件
查看>>