身份证号验证正则表达式
来源:互联网 发布:方舟生存进化怪物数据 编辑:程序博客网 时间:2024/05/06 12:02
梅花雨的脚本
<SCRIPT LANGUAGE="javascript">
function isIdCardNo(num)
{
if (isNaN(num)) {alert("输入的不是数字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(/d{6})()?(/d{2})(/d{2})(/d{2})(/d{3})$/);
else if (len == 18)
re = new RegExp(/^(/d{6})()?(/d{4})(/d{2})(/d{2})(/d{3})(/d)$/);
else {alert("输入的数字位数不对!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
}
return true;
}
isIdCardNo("330103780133103");
isIdCardNo("330103780123103");
isIdCardNo("330103197801231030");
</SCRIPT>
秋水的
更健壮的 地区和身份证的关系也判断到 还有性别
<script>
var
aCity={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:"国外"}
function cidInfo(sId){
var iSum=0
var info=""
if(!/^/d{17}(/d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)return "Error:非法证号";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
document.write(cidInfo("220283198011200331"),"<br/>");
</script>
- 身份证号验证正则表达式
- 正则表达式验证身份证号
- 身份证号验证正则表达式
- 身份证号验证正则表达式
- 正则表达式之身份证号验证
- js正则表达式验证身份证号
- js身份证号正则表达式验证
- 正则表达式严格验证身份证号
- js 验证手机号码 身份证号 邮箱 正则表达式
- 正则验证身份证号是否合法
- 身份证号,出生日期等的js正则表达式验证
- js、正则表达式验证有效手机号与身份证号
- 用正则表达式验证邮箱、密码、QQ号、手机号、身份证号
- C#中使用正则表达式验证电话号码、手机号、身份证号
- 验证身份证号是否合法的小程序(正则表达式)
- 正则表达式-->邮箱+手机号码+银行卡+身份证号+车牌号验证+.......
- jquery正则表达式验证纠正版(手机号、身份证号、中文名称)
- C#使用正则表达式验证电话号码、手机号、身份证号代码
- javascript教程 - 第三部分 window 和 frame 对象
- 如何修改windows收藏夹目录?
- javascript教程 - 第四部分 关于form对象
- javascript教程 - 第五部分 高级话题
- 简单就是美
- 身份证号验证正则表达式
- 人和人的相处真是比较困难
- 骗子的盛宴------Science痛批中国十一五科技规划 (ZT)
- 中国采购团采购3亿美元的微软软件
- 告诉你一个真实的Google
- 我和朋友们的对话(QQ语录)
- 使用Decorate模式实现留言版词汇处理
- 一名25岁的董事长给大学生的18条忠告
- 五句话足以改变人生[转]