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


Posted in Javascript onNovember 17, 2015

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

Javascript 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
jquery text,radio,checkbox,select操作实现代码
Jul 09 Javascript
Prototype源码浅析 Number部分
Jan 16 Javascript
js中复制行和删除行的操作实例
Jun 25 Javascript
JavaScript的arguments对象应用示例
Sep 15 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
Aug 21 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
Sep 06 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 #Javascript
js弹出对话框方式小结
Nov 17 #Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
Nov 17 #Javascript
Jquery 垂直多级手风琴菜单附源码下载
Nov 17 #Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 #Javascript
跟我学习javascript的undefined与null
Nov 17 #Javascript
跟我学习javascript的arguments对象
Nov 16 #Javascript
You might like
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
Python networkx包的实现
2020/02/14 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
国贸专业毕业求职信
2014/06/11 职场文书
计算机实训报告总结
2014/11/05 职场文书
承诺函范文
2015/01/21 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
基于Redis的List实现特价商品列表功能
2021/08/30 Redis