您好,欢迎访问一九零五行业门户网

jquery插件validation实现验证身份证号等_jquery

先推荐一个基于bootstrap的jquery validation插件:http://thrilleratplay.github.io/jquery-validation-bootstrap-tooltip/
jquery validation添加验证规则
validata.html
无标题文档 姓名*
电子邮件*
身份证号*
护照编号*
电话号码*

validata.js
$(function(){ $.validator.setdefaults({submithandler: function(form) {form.submit();}});// 字符验证jquery.validator.addmethod(stringcheck, function(value, element) {return this.optional(element) || /^[\u0391-\uffe5\w]+$/.test(value);}, 只能包括中文字、英文字母、数字和下划线);// 中文字两个字节jquery.validator.addmethod(byterangelength, function(value, element, param) {var length = value.length;for(var i = 0; i 127){length++;}}return this.optional(element) || ( length >= param[0] && length new date()){return false;//生日不能大于当前日期}else if ( ( xdata.getfullyear() == yyyy ) && ( xdata.getmonth () == mm - 1 ) && ( xdata.getdate() == dd ) ){return true;}else{return false;}},getparitybit: function(idcardno){var id17 = idcardno.substring(0,17); var power = 0;for(var i=0;i<17;i++){power += parseint(id17.charat(i),10) * parseint(idcardnoutil.powers[i]);} var mod = power % 11;return idcardnoutil.paritybit[mod];},checkparitybit: function(idcardno){var paritybit = idcardno.charat(17).touppercase();if(idcardnoutil.getparitybit(idcardno) == paritybit){return true;}else{return false;}},checkidcardno: function(idcardno){//15位和18位身份证号码的基本校验var check = /^\d{15}|(\d{17}(\d|x|x))$/.test(idcardno);if(!check) return false;//判断长度为15位或18位if(idcardno.length==15){return idcardnoutil.check15idcardno(idcardno);}else if(idcardno.length==18){return idcardnoutil.check18idcardno(idcardno);}else{return false;}}, //校验15位的身份证号码check15idcardno: function(idcardno){//15位身份证号码的基本校验var check = /^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(idcardno);if(!check) return false;//校验地址码var addresscode = idcardno.substring(0,6);check = idcardnoutil.checkaddresscode(addresscode);if(!check) return false;var birdaycode = '19' + idcardno.substring(6,12);//校验日期码return idcardnoutil.checkbirthdaycode(birdaycode);}, //校验18位的身份证号码check18idcardno: function(idcardno){//18位身份证号码的基本格式校验var check = /^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|x)$/.test(idcardno);if(!check) return false;//校验地址码var addresscode = idcardno.substring(0,6);check = idcardnoutil.checkaddresscode(addresscode);if(!check) return false;//校验日期码var birdaycode = idcardno.substring(6,14);check = idcardnoutil.checkbirthdaycode(birdaycode);if(!check) return false;//验证校检码return idcardnoutil.checkparitybit(idcardno);}, formatedatecn: function(day){var yyyy =day.substring(0,4);var mm = day.substring(4,6);var dd = day.substring(6);return yyyy + '-' + mm +'-' + dd;}, //获取信息getidcardinfo: function(idcardno){var idcardinfo = {gender:, //性别birthday: // 出生日期(yyyy-mm-dd)};if(idcardno.length==15){var aday = '19' + idcardno.substring(6,12);idcardinfo.birthday=idcardnoutil.formatedatecn(aday);if(parseint(idcardno.charat(14))%2==0){idcardinfo.gender=idcardnoutil.genders.female;}else{idcardinfo.gender=idcardnoutil.genders.male;}}else if(idcardno.length==18){var aday = idcardno.substring(6,14);idcardinfo.birthday=idcardnoutil.formatedatecn(aday);if(parseint(idcardno.charat(16))%2==0){idcardinfo.gender=idcardnoutil.genders.female;}else{idcardinfo.gender=idcardnoutil.genders.male;} }return idcardinfo;},getid15:function(idcardno){if(idcardno.length==15){return idcardno;}else if(idcardno.length==18){return idcardno.substring(0,6) + idcardno.substring(8,17);}else{return null;}},getid18: function(idcardno){if(idcardno.length==15){var id17 = idcardno.substring(0,6) + '19' + idcardno.substring(6);var paritybit = idcardnoutil.getparitybit(id17);return id17 + paritybit;}else if(idcardno.length==18){return idcardno;}else{return null;}}};//验证护照是否正确function checknumber(number){var str=number;//在javascript中,正则表达式只能使用/开头和结束,不能使用双引号var expression=/(p\d{7})|(g\d{8})/;var objexp=new regexp(expression);if(objexp.test(str)==true){return true;}else{return false;}};
以上所述就是本文的全部内容了,希望大家能够喜欢。
其它类似信息

推荐信息