//移动号码归属地支持号段: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})$/;
首先引入一个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( +message); //jquery(#phone).focus(); }else{ //提示正确效果 //jquery(#phonediv).removeclass().addclass(ui-form-item has-success); //jquery(#phonep).html(); //jquery(#phonep).html( 该手机号码可用); } 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); } }
以上就是本文的全部内容,教大家如何进行jquery验证手机号是否正确,利用正则表达式,大家可以动手试一试。
