`

一个验证身份证号是否有效的js小例子

阅读更多
看到一个检验身份证号的小例子,觉得不错。
<html>
	<head>
		<title>身份证号是否有效验证</title>
	</head>
	<body>
		请输入身份证号码:<input type="text" size="20" id="asidinput" />
		<input type="button" value="验证" onclick="alert(cidInfo(asidinput.value))" />
		<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?"男":"女")
			}
		</script>
	</body>
</html>	
分享到:
评论

相关推荐

    Js验证身份证号码 Demo例子里有完整的Js代码

    身份证号码验证; Demo例子里有完整的Js代码; 末位为X或x都能验证; 老身份证号码15位的也可以验证是否正确; 完整验证新老身份证号码的正确性

    华旭金卡身份证阅读器js调用案例

    该文件主要是面向购买华旭金卡身份证读卡器的用户,包括动态和相应的html例子

    身份验证和省市县三级联动的js文件和例子

    身份验证和省市县三级联动的js文件和例子

    常用各类验证 正则表达式

    包括电话号码验证,邮政编码验证 ,电子邮件验证,身份证验证,常用数字验证,非法字符验证 ,日期验证。。。 等几乎包括了我们项目当中所有常用验证例子。

    javascript代码常用大全

    一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形...

    常用JS脚本页面判断

    一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-...

    javascript常用代码大全.html

    一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-...

    javascript 常用代码大全

    一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的id的验证) 1.3 负整数的验证 1.4 整数不能大于imax 1.5 整数不能小于imin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形...

    javascript常用代码

    一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的id的验证) 1.3 负整数的验证 1.4 整数不能大于imax 1.5 整数不能小于imin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形...

    asp.net知识库

    一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术...

    在b/s开发中经常用到的javaScript技术整理

    在b/s开发中经常用到的javaScript技术整理 一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 ...

    LayuiForm表单.txt

     //创建一个编辑器  var editIndex = layedit.build('LAY_demo_editor');  //自定义验证规则  form.verify({  title: function(value){  if(value.length ){  return '标题至少得5个字符啊';  } ...

Global site tag (gtag.js) - Google Analytics