高密市时代互联网服务中心
繁體中文

共享资料

主页 → 共享资料 → VIP资料

VIP资料 VIP资料
VB及ASP编程 VB及ASP编程
相关知识 相关知识
图象制作 图象制作
图片资料 图片资料
数据库 数据库
资料下载 资料下载

共享资料热点信息

win2003提示“在系统启动时至少有一个服务或驱动程序产生错误” win2003提示“在系统启动时至少…
中国电信宽带DNS数据 中国电信宽带DNS数据
E路航GPS导航仪地图升级 E路航GPS导航仪地图升级
usb98万能驱动程序 usb98万能驱动程序
全国天气预报 全国天气预报
服务协议(续签) 服务协议(续签)
互联网连通状态检测 互联网连通状态检测
电子琴 电子琴
获得系统中的所有字体列表 获得系统中的所有字体列表
利用VB产生屏幕变暗的效果 利用VB产生屏幕变暗的效果

信息搜索

(支持信息首拼字母)

浏览:3069  [字号: 正常]
分享到:

身份证验证的代码

<script language="javascript">
//●●●●表单验证去除全角和半角空格●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
<!--
String.prototype.trim = function()
{
return this.replace(/^( |[\s ])+|(|[\s])+$/g,"")
}
//-->
</script>


<script language="javascript">
<!--
function CheckFormregrrr(theForm)
{
//身份证验证▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
var num
num = theForm.shenfenzheng.value.trim();
len = num.length;
if(!num)
{
alert("请输入身份证号码!");
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.value="";
theForm.shenfenzheng.focus();
return(false);
}
if (len !==15 && len !==18)
{
alert("身份证号码位数不对 (应 15 位或 18 位),\n\n您目前输入的是 "+ len +" 位!");
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}

if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))
{
alert('号码不符合规定!\n\n15位号码应全为数字,18位号码末位可以为数字或大写X。');
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}
var len, re;

if (len == 15)
{
re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
var arrSplit = num.match(re);
var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
alert('(15位)出生日期不对!');
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}
else
{
//将15位身份证转成18位(校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10)
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
num = num.substr(0, 6) + '19' + num.substr(6,len - 6);
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
num += arrCh[nTemp % 11];
alert("您输入的是15位,现在自动转换成18位!");
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.value=num;
return false;
}
}
if (len == 18)
{
re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
var arrSplit = num.match(re);
var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (parseInt(Number(arrSplit[2])) > <%=year(date)%>)
{
alert( Number(arrSplit[2]) + '年的人还没出生呢!');
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}
if (parseInt(Number(arrSplit[2])) <= 1900)
{
alert( Number(arrSplit[2]) + '年出生的人还存在吗!');
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}

if (!bGoodDay)
{
alert('(18位)出生日期不对!');
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}
else
{
var valnum;
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
valnum = arrCh[nTemp % 11];
if (valnum != num.substr(17, 1))
{
alert('18位身份证的校验码不正确!应该为:' + valnum);
theForm.shenfenzheng.style.backgroundColor="#ff8888";
theForm.shenfenzheng.focus();
return false;
}
}
}
//身份证验证▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
theForm.zhuce.disabled=true;
}
//-->
</script>
<form name="theForm" method="POST" onsubmit="return CheckFormregrrr(theForm)" action="?action=yes" style="margin-top: 0; margin-bottom: 0">
<div align="center">
<table border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#999999" cellpadding="4">
<tr>
<td align="left" height="10">
<input maxlength="18" name="shenfenzheng" onkeyup="value=value.replace(/[^\A-Z0-9\/]/,'')" type="text" size="20"></td>
</tr>
<tr>
<td align="right" height="20" bgcolor="#CCCCCC">
<p style="margin-right: 5px">
<input type="submit" value="提交" name="zhuce" style="cursor:pointer">
</p>
</td>
</tr>
</table>
</div>
</form>



·上一篇:shell函数使用参数(在窗体中调用外部程序)
·下一篇:解决windows2003默认只有200k的图片上传限制的方法
在NTF…
站内查询(支持首拼):
主 页 关于我们 新闻中心 产品介绍 业务范围 共享资料 服务支持 案例展示 站长专题 人力资源 音视频 电子地图 会员中心 在线付款

鲁ICP备11021577号

Copyright © 2003-2026 版权所有:时代互联网服务中心

电话:13287488567 0536-2378816 邮箱:xzs0001@163.com  QQ:173807448 632406796

建议使用 1152×864 及以上分辨率浏览

技术服务:时代互联网服务中心 访问量: 89068832(人次) 目前在线:23人
2