javabean 身份证号码验证
开发工具:MyEclipse、MySQL
开发语言:javabean+servlet+jsp、layui 、bootstrap
jsp代码如下:
//身份证号验证
function idNumber() {
var card=$("#memberIDNumber").val();
//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(reg.test(card) === false)
{
layer.alert("身份证输入不合法!请重新输入", { skin: 'layui-layer-molv', icon: 0, title: "提示" });
$("#memberIDNumber").val("");
return false;
}
else{
var b=0;
for(var i=0;i<arrMemberIDNumber.length;i++){
if(card==arrMemberIDNumber[i]){
b=1;
break; //记得break,直接跳出循环
}
}
if(b==1){
layer.alert("此身份证已登记!可以输入其他的或退出", { skin: 'layui-layer-molv', icon: 0, title: "提示" });
$("#memberIDNumber").val("");
return false;
}
else if(b!=1){
var idcard = document.getElementsByName("memberIDNumber")[0];
var ageValue = document.getElementsByName("memberAge")[0];
var sex = document.getElementById("memberSex");
var idcardValue =idcard.value;
if(idcardValue.length==18){
sexValue = idcardValue.substring(16,17);
yearValue = idcardValue.substring(6,10);
monthValue = idcardValue.substring(10,12);
dayValue = idcardValue.substring(12,14);
//性别
if(sexValue%2==1){
$("#memberSex").val("true");
}else if(sexValue%2==0){
$("#memberSex").val("false");
}
//出生日期
//birthTime.value=yearValuef+"-"+monthValue+"-"+dayValue;
//年龄
var myDate=new Date();
var getyaer=myDate.getFullYear();
age=new Number(getyaer)-new Number(yearValue);
//计算周岁,未到生日减一岁
if(new Number(monthValue)>(new Number(myDate.getMonth())+1)){
age=age-1;
}else if(new Number(monthValue)==(new Number(myDate.getMonth())+1)
&& new Number(dayValue)>new Number(myDate.getDate()))
{
age=age-1;
}
if(age<0){
age=0;
}
ageValue.value=age;
}
return true;
}
}
};