首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp 身份证验校 读掏出生日期

2013-10-15 
asp 身份证验校读取出生日期文本域 class (输入身份证号码)文本域 day(显示身份证号码 正确 不正确)文本域

asp 身份证验校 读取出生日期
文本域 class (输入身份证号码)  

文本域 day   (显示身份证号码 正确 不正确)

文本域 date  (自动提取class中的出生日期)


达到的效果 class 中输入身份证号  输入完毕后 自动验校身份证是否正确 (身份证号输入到18位时自动验校)
         day   (显示身份证号码 正确 不正确)
         如果正确自动在date 中显示出生日期 ASP
[解决办法]


<form>
<input type="text" name="class" maxlength="18">
<input type="text" name="day" readonly="readonly">
<input type="text" name="date" readonly="readonly">
</form>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js"></script>
<script>
$(function(){
$("input[name='class']").on('keydown',function(e){
var n = e.which;
return !e.shiftKey && ((n >= 48 && n <= 57) 
[解决办法]
 n==8 
[解决办法]
 n==37 
[解决办法]
 n==39 
[解决办法]
 n==46 
[解决办法]
 n==88 
[解决办法]
 n==16);
}).on('keyup',function(){
var v = $(this).val();
if(v.length==15 
[解决办法]
 v.length==18){
if(checkIdNo(v)==""){
$("input[name='day']").val("正确");
if(v.length==15){
$("input[name='date']").val("19" + v.substr(6,2));
}
else {
$("input[name='date']").val(v.substr(6,4));
}
}
else{
$("input[name='day']").val("不正确");
$("input[name='date']").val("");
}
}
else{
$("input[name='day']").val("不正确");
$("input[name='date']").val("");
}
});
});
function checkIdNo(v){
var idcard = v;
var errors = new Array(
"",
"* 身份证号码位数不对!",
"* 身份证号码出生日期超出范围或含有非法字符!",
"* 身份证号码校验错误!",
"* 身份证地区非法!");
var area = {
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 : "国外"
}
var idcard, y, jym;
var s, m;
var idcard_array = new Array();
idcard_array = idcard.split("");
if (area[parseInt(idcard.substr(0, 2))] == null)
return errors[4];
switch (idcard.length) {
case 15:
if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 
[解决办法]
 ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01
[解决办法]
03
[解决办法]
05
[解决办法]
07
[解决办法]
08
[解决办法]
10
[解决办法]
12)(0[1-9]
[解决办法]
[1-2][0-9]
------解决方案--------------------


3[0-1])
[解决办法]
(04
[解决办法]
06
[解决办法]
09
[解决办法]
11)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
30)
[解决办法]
02(0[1-9]
[解决办法]
[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性
} else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01
[解决办法]
03
[解决办法]
05
[解决办法]
07
[解决办法]
08
[解决办法]
10
[解决办法]
12)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
3[0-1])
[解决办法]
(04
[解决办法]
06
[解决办法]
09
[解决办法]
11)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
30)
[解决办法]
02(0[1-9]
[解决办法]
1[0-9]
[解决办法]
2[0-8]))[0-9]{3}$/; //测试出生日期的合法性
}
if (ereg.test(idcard))
return "";
else
return errors[2];
break;
case 18:
if (parseInt(idcard.substr(6, 4)) % 4 == 0 
[解决办法]
 (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01
[解决办法]
03
[解决办法]
05
[解决办法]
07
[解决办法]
08
[解决办法]
10
[解决办法]
12)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
3[0-1])
[解决办法]
(04
[解决办法]
06
[解决办法]
09
[解决办法]
11)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
30)
[解决办法]
02(0[1-9]
[解决办法]
[1-2][0-9]))[0-9]{3}[0-9xx]$/; //闰年出生日期的合法性正则表达式
} else {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01
[解决办法]
03
[解决办法]
05
[解决办法]
07
[解决办法]
08
[解决办法]
10
[解决办法]
12)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]


3[0-1])
[解决办法]
(04
[解决办法]
06
[解决办法]
09
[解决办法]
11)(0[1-9]
[解决办法]
[1-2][0-9]
[解决办法]
30)
[解决办法]
02(0[1-9]
[解决办法]
1[0-9]
[解决办法]
2[0-8]))[0-9]{3}[0-9xx]$/; //平年出生日期的合法性正则表达式
}
if (ereg.test(idcard)) {
s = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
 + parseInt(idcard_array[7]) * 1
 + parseInt(idcard_array[8]) * 6
 + parseInt(idcard_array[9]) * 3;
y = s % 11;
m = "f";
jym = "10x98765432";
m = jym.substr(y, 1);
if (m == idcard_array[17])
return "";
else
return errors[3];
} else
return errors[2];
break;
default:
return errors[1];
break;
}
}
</script>

热点排行