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

  1. //移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159 182 183 187 188
  2.  
  3. //联通号码归属地支持号段:130 131 132 155 156 176 186
  4.  
  5. //电信号码归属地支持号段:133 153 189
  6.  
  7. //移动运营商:170
  1. 移动:
  2.  
  3. 2G号段(GSM):134-139150151152158-159
  4.  
  5. 3G号段(TD-SCDMA):157187188147.
  6.  
  7. 联通:
  8.  
  9. 2G号段(GSM):130-132155-156
  10.  
  11. 3G号段(WCDMA):185186.
  12.  
  13. 电信:
  14.  
  15. 2G号段(CDMA):133153
  16.  
  17. 3G号段(CDMA2000):180189.

可以写出一个正则表达式: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框架:

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

校验手机号的函数:

  1. //验证手机号
  2. function vailPhone(){
  3. var phone = jQuery("#phone").val();
  4. var flag = false;
  5. var message = "";
  6. 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})$/;
  7. if(phone == ''){
  8. message = "手机号码不能为空!";
  9. }else if(phone.length !=11){
  10. message = "请输入有效的手机号码!";
  11. }else if(!myreg.test(phone)){
  12. message = "请输入有效的手机号码!";
  13. }else if(checkPhoneIsExist()){
  14. message = "该手机号码已经被绑定!";
  15. }else{
  16. flag = true;
  17. }
  18. if(!flag){
  19. //提示错误效果
  20. //jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-error");
  21. //jQuery("#phoneP").html("");
  22. //jQuery("#phoneP").html("<i class=\"icon-error ui-margin-right10\">&nbsp;<\/i>"+message);
  23. //jQuery("#phone").focus();
  24. }else{
  25. //提示正确效果
  26. //jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-success");
  27. //jQuery("#phoneP").html("");
  28. //jQuery("#phoneP").html("<i class=\"icon-success ui-margin-right10\">&nbsp;<\/i>该手机号码可用");
  29. }
  30. return flag;
  31. }

发送请求给后台:

  1. //验证手机号是否存在
  2. function checkPhoneIsExist(){
  3. var phone = jQuery("#phone").val();
  4. var flag = true;
  5. jQuery.ajax(
  6. { url: "checkPhone?t=" + (new Date()).getTime(),
  7. data:{phone:phone},
  8. dataType:"json",
  9. type:"GET",
  10. async:false,
  11. success:function(data) {
  12. var status = data.status;
  13. if(status == "0"){
  14. flag = false;
  15. }
  16. }
  17. });
  18. return flag;
  19. }

java后端进行校验:

  1. @RequestMapping(value = "/checkPhone", method = RequestMethod.GET)
  2. public void checkPhone(HttpServletRequest request,HttpServletResponse response) {
  3.  
  4. Map<String, Object> map = new HashMap<String, Object>();
  5. try {
  6. String phone = request.getParameter("phone");
  7. String status = "0";
  8. //写查询逻辑,查出有的话,那么标记为1,否则标记为0
  9. //UserCellphoneAuth userCellphoneAuth = userService.findUserCellphoneAuthByPhone(phone);
  10. //if(userCellphoneAuth!=null){
  11. // status = "1";
  12. //}
  13. map.put("status", status);
  14. String data = JSONObject.fromObject(map).toString();
  15. response.getWriter().print(data);
  16. response.getWriter().flush();
  17. response.getWriter().close();
  18.  
  19. } catch (Exception ex) {
  20. logger.error(ex.getMessage(), ex);
  21. }
  22. }

jquery实践案例--验证手机号码的更多相关文章

  1. jquery实践案例--验证电子邮箱

    <input type="email" name="email" id="email" value="" onpa ...

  2. jquery validation 简单验证手机号码

    js代码 // 手机号码验证 jQuery.validator.addMethod("isMobile", function(value, element) { var lengt ...

  3. 【转载】[jquery.validate]自定义方法实现"手机号码或者固定电话"的逻辑验证

    最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示: 项目采用的jquery.validate.js验证组件,目前组件不支持这种“或”逻辑的验证,于是就自己定义一个 jQuery ...

  4. jquery验证手机号码、邮箱格式是否正确示例代码

    本文为大家介绍下使用jquery验证邮箱.验证手机号码,具体实现思路及代码如下,感兴趣的朋友可以学习下 复制代码代码如下: //jquery验证邮箱  function checkSubmitEmai ...

  5. [jquery.validate]自定义方法实现"手机号码或者固定电话"的逻辑验证

    最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示: 项目采用的jquery.validate.js验证组件,目前组件不支持这种“或”逻辑的验证,于是就自己定义一个 jQuery ...

  6. jquery验证手机号码和固定电话号码

    <pre name="code" class="javascript"> //验证手机号码或者电话号码 function checkContactN ...

  7. 封装jQuery Validate扩展验证方法

    一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...

  8. jquery表单验证使用插件formValidator

    JQuery表单验证使用插件formValidator 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-10我要评论 jquery表单验证使用插件formValidator,可供有需求 ...

  9. jquery validate扩展验证方法

    /***************************************************************** jQuery Validate扩展验证方法 (linjq) *** ...

随机推荐

  1. 对Mathsapp的测试以及找bug

    组员博客地址: 练思明 卓嘉炜:http://www.cnblogs.com/luoliuxi/ 何宇明:http://www.cnblogs.com/40heyuming/ 团队贡献分: 练思明:2 ...

  2. CSS 最核心的四个概念

    本文将讲述 CSS 中最核心的几个概念,包括:盒模型.position.float等.这些是 CSS 的基础,也是最常用的几个属性,它们之间看似独立却又相辅相成.为了掌握它们,有必要写出来探讨一下,如 ...

  3. Java编码规范

    1. Java命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符.此外,一般应采用小写字母,但类名.接口名以及任何非初始单词的第一个字母要大写.1.1 一般概念 n 尽量使用完整 ...

  4. 在Hdsi2.0 SQL的注入部分抓包分析语句

    在Hdsi2.0 SQL的注入部分抓包分析语句 恢复cmd ;insert tb1 exec master..xp_cmdshell''net user ''-- ;exec master.dbo.s ...

  5. 关于下载DynamicDataDisplay.dll后被默认锁定的问题

    问题:命名空间 d3:“http://research.microsoft.com/DynamicDataDisplay/1.0”不存在ChartPlotter元素 原因:下载DynamicDataD ...

  6. Dynamics AX 中重点数据源方法

     数据源方法 描述   Active  当用户刚选中一行数据时执行该方法.若选中的是主表的数据,也用该方法来触发加载从表符合条件的数据.主要覆盖该方法来根据条件设置记录及其字段是否可见或是否可被编辑. ...

  7. 模块在insmod之后无法rmmod问题

    1,首先保证make menuconfig选项配置: [*] Enable loadable module support  ---> [*]   Module unloading 2,在lib ...

  8. Ubuntu14.04安装ROOT集群

    之前尝试在CentOS7上部署ROOT集群,却发现无论是源码包安装,还是官方提供的二进制包,都缺少了关键的xproofd可执行文件,导致PoD不能运行.没有办法,只能尝试在其他OS上部署,这里我选择了 ...

  9. jdbcTemplate 泛型 查询

    1. dao层方法使用泛型 public <T> List<T> findDistinctListByCondition(String str, Class<T> ...

  10. 使用PowerQuery操作OData数据

             Excel是我们耳熟的办公软件.PowerQuery是一个允许连接多种数据源的Excel插件.它能从一个网页上智能查询数据.使用PowerQuery能合并数据集使用join,merg ...