`
PoLan
  • 浏览: 5594 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论

验证身份证的js代码片段

F# 
阅读更多
//验证身份证号码是否正确
function checkIDCard(idCardNum){
	var idNum = idCardNum;
      
	var errors = new Array(
		"验证通过",
		"身份证号码位数不对",
		"身份证含有非法字符",
		"身份证号码校验错误",
		"身份证地区非法",
		"身份证出生日期不对"
 	);

	//身份号码位数及格式检验
	var re;
	var len = idNum.length;
	
	//身份证位数检验
	if(len != 15 && len != 18){
		return errors[1];
	}else if(len == 15){
		re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
	}else{
		re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})([0-9xX])$/); 
	}

	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_array = new Array();
	idcard_array = idNum.split("");
      
	//地区检验
	if(area[parseInt(idNum.substr(0,2))] == null) {
		return errors[4];
	}

	//出生日期正确性检验
	var a = idNum.match(re);
        
	if (a != null){
		if (len==15){
			var DD = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
			var flag = DD.getYear()==a[3]&&(DD.getMonth()+1)==a[4]&&DD.getDate()==a[5];
		}else if(len == 18){
			var DD = new Date(a[3]+"/"+a[4]+"/"+a[5]);
			var flag = DD.getFullYear()==a[3]&&(DD.getMonth()+1)==a[4]&&DD.getDate()==a[5];
		}
        
		if (!flag) {
			return errors[5]; 
		}                     
          
		//检验校验位
		if(len == 18){
			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);//判断校验位
            
			//检测ID的校验位
			if(M == idcard_array[17]){ 
				return errors[0]; 
			}else{
				return errors[3];
			} 
		}
	}else{
		return errors[2];
	}
  return errors[0];
}
分享到:
评论

相关推荐

    javascript身份证验证代码.docx

    综上所述,本文展示的JavaScript代码片段可以有效地验证身份证号码的最后一位是否正确,这在很多需要处理用户身份信息的应用中非常有用。当然,一个完整的身份验证系统可能需要更复杂的逻辑,包括但不限于地址验证、...

    营业证、组织结构代码、身份证js验证

    根据给定文件的信息,我们可以提炼出以下IT领域的关键知识点,主要涉及JavaScript(JS)中的验证技术,特别是针对营业执照、组织结构代码、身份证以及固定电话的验证逻辑。 ### 身份证验证 身份证号码验证是JS中一...

    js验证身份证号码的有效方法

    ### JS验证身份证号码的有效方法 身份证号码验证是前端开发中常见的功能之一,特别是在涉及用户注册、个人信息填写等场景时尤为重要。下面将详细介绍如何利用JavaScript来验证身份证号码的有效性。 #### 身份证...

    验证身份证是否合法

    ### 验证身份证是否合法 #### 知识点概述 本文将详细介绍如何通过JavaScript实现对身份证合法性的验证,包括以下几个方面: 1. **身份证的基本格式校验**:确保输入的字符串符合身份证的基本形式。 2. **身份证...

    从盛大通行证上摘下来的身份证验证js代码.docx

    这篇文档提供的JavaScript代码片段是一个从盛大通行证系统中提取出来的身份证验证功能。这个功能的主要目的是检查输入的身份证号码是否符合中国大陆身份证号码的规则。 首先,让我们详细了解一下这段代码的工作原理...

    JS实现的表单验证和强大的身份证

    在上述代码片段中,可以看到使用了正则表达式来进行不同类型的验证。正则表达式是一种用于匹配字符串的强大工具,它可以用来查找、替换或提取文本中的模式。 ### 3. 不同类型的验证方法 #### 3.1 数字验证 ...

    JS的身份证验证

    代码片段中的`checkIdcard`函数首先检查地区编码的有效性,然后根据身份证号码的长度选择合适的正则表达式进行验证。 对于15位和18位的身份证号码,代码分别定义了不同的正则表达式,考虑到15位身份证号码不包含...

    js身份证号码完全验证(精确到每一位)

    这个对象可以用于验证身份证号码的前6位,以确定出生地是否合法。然后,可以通过编写函数来完成剩余的验证步骤,如日期验证、顺序码性别判断和校验位计算。 实现身份证验证功能时,需要注意处理特殊情况,比如: - ...

    Javascript使用正则验证身份证号(简单)

    通过给出的示例代码,我们可以看到一个用于验证身份证号码的JavaScript函数`isIdCardNo(num)`。这个函数首先将输入的身份证号码转换为大写形式,这是为了统一处理,避免因为大小写不同而导致的验证错误。然后,函数...

    身份证读卡器SDK开发包大全 (bs/cs)

    7. 示例代码:为了帮助开发者快速理解如何使用SDK,通常会提供示例项目或代码片段,演示了基本的读卡、验证和数据处理流程。 8. 文档:SDK文档是开发者的重要参考资料,它解释了各个函数和类的用途、参数、返回值...

    注册页面的验证代码

    ### 身份证号验证 #### 验证规则 - 身份证号为18位数字或17位数字加X/x结尾。 #### 示例代码 ```javascript function checkId() { var id = $("id"); var userid = document.getElementById("id"); var reg = /...

    精伦身份证阅读器 网页版OCX 二次开发包

    精伦身份证阅读器是一款专为网页环境设计的OCX(对象链接和嵌入)控件,用于实现身份证信息的高效读取与验证。这个二次开发包是为开发者提供的一种工具,帮助他们将身份证读取功能集成到自己的网页应用中。在进行...

    身份证识别仪B/s结构软件例子

    在这个例子中,我们聚焦于华视电子的身份证识别仪,它是一个专为读取、处理和验证身份证信息而设计的设备。 B/S结构的核心特点是用户通过浏览器进行交互,服务器负责处理业务逻辑和数据存储。在身份证识别仪的B/S...

    趋势科特身份证阅读器浏览器控件开发包.rar

    趋势科技作为知名的网络安全公司,其提供的身份证阅读器控件主要用于帮助用户在Web浏览器环境中安全、高效地读取和验证身份证信息。 身份证阅读器是一种硬件设备,通常通过USB接口与计算机连接,能够快速扫描并解析...

    js验证大全,各种验证,很方便,很实用

    JavaScript(简称JS)是一种轻量级...在“js验证大全.doc”文档中,你可能会找到上述各种验证的详细实现示例和代码片段,这将帮助你快速理解和应用这些验证技术。通过学习和实践,你可以构建更健壮、更安全的Web应用。

    H5和html、mui等前端百度ORC识别身份证、驾驶证接口的api实现方法

    例如,可能会有如下代码片段: ```javascript fetch('https://aip.baidubce.com/rest/2.0/ocr/v1/idcard', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', '...

    javascript常用代码大全.doc

    在提供的“JavaScript常用代码大全”中,我们可以看到许多实用的代码片段,涵盖了多个方面的功能,包括对话框、全屏窗口、XML处理、表单验证、字符检测、浏览器检测以及特定功能的实现。 1. 对话框: - `...

    身份证读卡器读卡实例VB

    7. **示例代码片段**: ``` Private Sub btnRead_Click() On Error GoTo ErrorHandler If OpenReader("COM1") = True Then Dim idInfo As String If ReadCard(idInfo) = True Then txtInfo.Text = idInfo '...

Global site tag (gtag.js) - Google Analytics