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

//移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159   182 183  187 188

//联通号码归属地支持号段:130 131 132   155 156 176  186  

//电信号码归属地支持号段:133 153   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\">&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);
}
}

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. IT人生思考

    夜已深,心里却十分清醒... 说说,这段时间经历的事情吧.我是一枚IT菜鸟,2014年毕业于武汉软件工程职业学院.大学时代,虽然没翘过课,专业学的也不是特别好.当时也没有想过毕业会从事IT行业.只是想 ...

  2. Java概述之从源码到运行

    Java体系结构包括以下四个部分: 1. Java语言 2. Java class文件格式(被编译后的java类文件格式) 3. Java API 4. Java虚拟机JVM 它们之间的关系,总结一句 ...

  3. C#根据CPU+磁盘标号来注册软件

    很多私人软件都需要自己的作品出售给别人只能一台电脑使用,不可以随便一个电脑都可以运行自己的软件,所以就有了软件注册限制的控制,收集了一个注册软件的帮助类,分享记录一下. 功能介绍:    根据CPU+ ...

  4. sql 去重

    ;WITH CETAS (SELECT *, ROW_NUMBER() OVER (PARTITION BY SearchTask_PKID ORDER BY SearchTask_PKID) Row ...

  5. Python on VS Code

    install python extension Press F1, and input "ext install python". Then the icon at the le ...

  6. 优雅输出Javascript从Chrome浏览器

            一般前端Web开发好的App中js脚本文件,为了节约流量,都会做最小化,甚至合并压缩处理.但在对于需要Debug已处理过Javascript文件就不太方便了,可读性太差了. 使用Goo ...

  7. RCA端子颜色(红、白、黄)

    RCA端子(红白黄)的作用: 黄:视频 红:左声道 白:右声道 RCA为两口插头,红色代表左声道,白色为右声道,3.5(AUX口)同样为立体声接头,虽然它只有一个端口,同样也具有左右声道分开传输的功能 ...

  8. [翻译]:SQL死锁-锁的类型

    很久没有写博客了,这里面的原因有很多.最近的一个项目由于客户明确提出要做下性能压力测试,使用的工具就是VS自带的压力测试工具.以前其它项目做压力测试后反馈的其中一个重要问题就是数据库的死锁.没想到我们 ...

  9. online judge(ACM) 的设计与分析 (有c#demo)

    ACM.OJ,算法在线判题系统. 帮朋友完成毕业设计而写的,软件环境windows系统,语言是C# winform(因为我不熟悉asp.net,现在暂用winform写的demo). 看了下其他相关论 ...

  10. mvc与三层结构终极区别

    http://blog.csdn.net/csh624366188/article/details/7183872 http://www.cnblogs.com/zhhh/archive/2011/0 ...