Home >Web Front-end >JS Tutorial >jquery validation verifies ID number, passport, phone number, email (example code)_jquery

jquery validation verifies ID number, passport, phone number, email (example code)_jquery

WBOY
WBOYOriginal
2016-05-16 17:17:111320browse

validata.htm

复制代码 代码如下:






无标题文档





 


 


   *
  

 


 


   *
  

 


 


   *
  

 


 


   *
  

 


 


   *
  

 


 




validata.js
复制代码 代码如下:

$(function(){

$.validator.setDefaults({
submitHandler: function(form) {
form.submit();
}
});
// Character validation
jQuery.validator.addMethod("stringCheck", function(value, element) {
return this.optional(element) || /^[u0391-uFFE5w] $/.test(value);
}, "Can only include Chinese characters, English letters, numbers and underscores");
// Two bytes of Chinese characters
jQuery.validator.addMethod(" byteRangeLength", function(value, element, param) {
var length = value.length;
for(var i = 0; i < value.length; i ){
if(value.charCodeAt (i) > 127){
length ;
}
}
return this.optional(element) || ( length >= param[0] && length <= param[1 ] );
}, "Please ensure that the entered value is between 3-15 bytes (one Chinese character counts as 2 bytes)");

// ID card number verification
jQuery.validator.addMethod("isIdCardNo", function(value, element) {
return this.optional(element) || idCardNoUtil.checkIdCardNo(value);
}, "Please enter your ID card correctly Number");
//Passport number verification
jQuery.validator.addMethod("passport", function(value, element) {
return this.optional(element) || checknumber(value);
}, "Please enter your passport number correctly");

//Mobile phone number verification
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1})) d{8})$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "Please fill in your mobile phone number correctly");

// phone number Validation
jQuery.validator.addMethod("isTel", function(value, element) {
var tel = /^d{3,4}-?d{7,9}$/; //Phone number Format 010-12345678
return this.optional(element) || (tel.test(value));
}, "Please fill in your phone number correctly");

// Contact Phone (mobile phone/phone is acceptable) verification
jQuery.validator.addMethod("isPhone", function(value,element) {
var length = value.length;
var mobile = /^((( 13[0-9]{1})|(15[0-9]{1})) d{8})$/;
var tel = /^d{3,4}-?d{7 ,9}$/;
return this.optional(element) || (tel.test(value) || mobile.test(value));

}, "Please fill in your contact information correctly Phone");

// Zip code verification
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6 }$/;
return this.optional(element) || (tel.test(value));
}, "Please fill in your zip code correctly");

//Start Validate
$('#commentForm').validate({

rules: {
username: {
required:true,
stringCheck:true,
byteRangeLength:[ 3,15]
},
email:{
required:true,
email:true
},
phone:{
required:true,
isMobile :true
},
address:{
required:true,
stringCheck:true,
byteRangeLength:[3,100]
},
card:{
required :true,
isIdCardNo:true

},
passport:{
required:true,
passport:true

}
},


messages:{
username: {
required: "Please fill in the username",
stringCheck: "The username can only include Chinese characters, English letters, numbers and underscores",
byteRangeLength: "Username must be between 3-15 characters (one Chinese character counts as 2 characters)"
},
email:{
required: "",
email: "Please enter a valid email address"
},
phone:{
required: "Please enter your contact number ",
isPhone: "Please enter a valid contact number"
},
address:{
required: "Please enter your contact address",
stringCheck: "Please enter it correctly Your contact address",
byteRangeLength: "Please specify your contact address so that we can contact you"
},
card:{
required:"Please enter your ID number",
isIdCardNo:"Please enter the correct ID number"
},
passport:{
required:"Please enter the passport number",
passport:"Please enter the correct passport number"
}
},


focusInvalid: false,
onkeyup: false,


errorPlacement: function(error, element) {
error. appendTo( element.parent());
},
errorElement:"em",
error:function(label){label.text(" ").addClass("error");}
});
})

card.js
Copy code Code As follows:

var idCardNoUtil = {

provinceAndCitys: {11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",
31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",
45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",
65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"},


powers: ["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],


parityBit: ["1","0","X","9","8","7","6","5","4","3","2"],


genders: {male:"男",female:"女"},


checkAddressCode: function(addressCode){
var check = /^[1-9]\d{5}$/.test(addressCode);
if(!check) return false;
if(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){
return true;
}else{
return false;
}
},


checkBirthDayCode: function(birDayCode){
var check = /^[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$/.test(birDayCode);
if(!check) return false;
var yyyy = parseInt(birDayCode.substring(0,4),10);
var mm = parseInt(birDayCode.substring(4,6),10);
var dd = parseInt(birDayCode.substring(6),10);
var xdata = new Date(yyyy,mm-1,dd);
if(xdata > 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;
}
}
};
//Verify whether the passport is correct
function checknumber(number){
var str=number;
//In JavaScript , regular expressions can only start and end with "/" and cannot use double quotes
var Expression=/(Pd{7})|(Gd{8})/;
var objExp=new RegExp(Expression );
if(objExp.test(str)==true){
return true;
}else{
return false;
}
};

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn