`

javascript 验证身份证号码

 
阅读更多
<script type="text/javascript">
	// 去左右空格 
	function trim(str){
		return str.replace(/^\s+|\s+$/g,'');
	}

	var powers=new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2");      
    var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2");      
    var sex="male";      
    //校验身份证号码的主调用
    function validId(obj){      
        var _id=obj.value;      
        if(trim(_id)==""){
        	obj.value="";
        	document.getElementById("idCardMsg").innerHTML = "请输入身份证号。";
      		return false;
        } 
        if(_id.length.length != 15 && _id.length != 18){
        	document.getElementById("idCardMsg").innerHTML = "请输入15位或者18位身份证号码。";
      		return false;
        }
        var _valid=false;      
        if(_id.length==15){      
            _valid=validId15(_id);      
        }else if(_id.length==18){      
            _valid=validId18(_id);      
        }      
        if(!_valid){      
            document.getElementById("idCardMsg").innerHTML = "身份证号码有误,请检查!";
            obj.focus();      
            return false;      
        }
        document.getElementById("idCardMsg").innerHTML = "输入正确。";
        return true;
    }          
    //校验18位的身份证号码      
     
    function validId18(_id){      
        _id=_id+"";      
        var _num=_id.substr(0,17);      
        var _parityBit=_id.substr(17);      
        var _power=0;      
        for(var i=0;i< 17;i++){      
            //校验每一位的合法性     
            if(_num.charAt(i)<'0'||_num.charAt(i)>'9'){      
                return false;      
                break;      
            }else{      
                //加权 
				_power+=parseInt(_num.charAt(i))*parseInt(powers[i]);          
            }      
        }      
	    //取模      
        var mod=parseInt(_power)%11;
		if(parityBit[mod]==_parityBit){      
            return true;      
        }      
        return false;      
    }      
    //校验15位的身份证号码      
     
    function validId15(_id){      
        _id=_id+"";      
        for(var i=0;i<_id.length;i++){      
            //校验每一位的合法性      
     
            if(_id.charAt(i)<'0'||_id.charAt(i)>'9'){      
                return false;      
                break;      
            }      
        }      
        var year=_id.substr(6,2);      
        var month=_id.substr(8,2);      
        var day=_id.substr(10,2);      
        var sexBit=_id.substr(14);      
        //校验年份位      
     
        if(year<'01'||year >'90')return false;      
        //校验月份      
     
        if(month<'01'||month >'12')return false;      
        //校验日      
     
        if(day<'01'||day >'31')return false;         
        return true;      
    }  
</script>


<input type="text" onblur="javascript:validId(this)"  maxlength="20"/>
<span id="idCardMsg"></span>


分享到:
评论

相关推荐

    验证身份证号码有效性的js

    要使用JavaScript验证身份证号码,我们首先需要定义一个函数,例如`isValidIDCard`,接收一个身份证号码作为参数。这个函数的核心就是校验码的计算过程。以下是一个简单的实现: ```javascript function ...

    javascript身份证号码验证-支持15位和18位带x身份证

    验证身份证号码的完整JavaScript函数可能如下所示: ```javascript function isIdCard(id) { var regex = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{3}[\dXx]$/; if (!regex.test...

    JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx

    JavaScript正则表达式验证身份证号码是否合法(两种方法)分析 正则表达式(Regular Expression)是一种描述字符模式的对象。下面,我们将通过JavaScript正则表达式来验证身份证号码是否合法。 正则表达式的基本...

    用JavaScript验证身份证号

    * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 ... * i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置

    基于javascript的身份证号码验证.zip

    本压缩包所包含的项目即是一个基于JavaScript实现的身份证号码验证工具,其主要功能是通过编程对身份证号码进行准确性和合法性校验,以保障在各种网络应用中个人信息的安全。 该验证工具利用JavaScript编程语言,...

    身份证号码验证程序 javascript验证的html文件

    在这个例子中,JavaScript代码负责处理用户的输入,进行身份证号码的有效性验证。 3. **身份证号码验证规则**:中国的身份证号码由18位数字组成,包括地区码、出生日期码、顺序码和校验码。验证时需检查: - 地区...

    javascript 身份证号码格式验证

    运用javascript进行身份证号码格式验证。

    js身份证号码获取性别、出生日期、籍贯省市.zip

    4. **校验码**(第18位):基于前17位数字通过特定算法计算得出,用于验证身份证号码的合法性。 要从身份证号码中获取性别,我们只需要查看第17位数字。如果它是奇数,那么这个人是男性;如果是偶数,那么这个人是...

    javaScript 验证身份证号是否正确,并能获取户口所在地。

    javaScript实现验证身份证是否正确,并能获取户口所在地。 调用方式: 引入idCard.js var msg = idCard.checkIdCard(身份证号); msg为 "正确" 时验证正确,否则返回错误信息 身份证正确时调用 var address = ...

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

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

    18位身份证号码验证代码

    18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。

    JavaScript截取手机号码 手机验证 身份证验证等等

    本篇文章将深入探讨如何使用JavaScript进行手机号码和身份证号码的截取与验证。 手机号码验证: 在中国,手机号码通常为11位数字。我们可以创建一个函数,利用正则表达式来检查用户输入的字符串是否符合手机号码的...

    JavaScript的form表单验证中的身份证校验.pdf

    为了准确地验证身份证号码,我们需要构建一个正则表达式来匹配这些规则。以下是对每个部分的具体解释: 1. **地址码**(地区): - 表达式:`[1-9]\d{5}` - 解释:首位数字必须为1到9之间的任意一个数字,后面...

    JS验证身份证及获取地区功能示例

    首先,身份证验证是确保用户输入的身份证号码合法的关键步骤。身份证号码由18位数字组成,前6位代表行政区划代码,接下来的7位是出生日期,接着的3位是顺序码,最后一位是校验码。JS中可以使用正则表达式进行验证: ...

    h5校验身份证号码

    本文将详细介绍如何利用HTML5和JavaScript实现对这两种身份证号码的验证。 #### 二、身份证号码结构分析 在进行验证之前,我们需要了解身份证号码的基本结构: 1. **地址码**(前六位):表示编码对象常住户口所在...

    javascript验证身份证号

    JavaScript验证身份证号码是前端开发中常见的需求,因为身份证号码作为重要的个人身份标识,在用户注册等场景中需要进行准确的验证以确保信息的正确性。身份证号码的标准格式由18位数字组成,包括地址码、出生日期码...

    身份证号验证程序javascript

    2. **格式检查**:验证身份证号码是否符合规定的格式(前17位数字+最后一位校验码)。 3. **地区代码检查**:验证身份证号码的前两位是否为合法的地区代码。 4. **出生日期检查**:验证身份证号码中的出生日期是否...

    基于C++/JavaScript的身份证号码和银行码快速识别系统设计源码

    该项目是一个基于C++/JavaScript的身份证号码和银行码快速识别系统设计源码,主要使用C++语言开发。项目包含20个文件,其中6个C++源文件(.cpp),2个头文件(.h),2个初始化文件(.ini),1个Git属性文件(.gitattributes...

    根据身份证号码获取性别、出生日期、籍贯省市的js示例

    8. **错误处理**:考虑到用户输入可能存在错误,应在解析过程中加入验证,确保输入的身份证号码符合18位格式,并且校验码正确。如果输入无效,应给出相应提示。 9. **可配置性**:根据需求,可以将要获取的项目作为...

    超精准的javascript验证身份证号的具体实现方法

    通过JavaScript验证身份证号码是一种常见的前端验证手段,除了确认身份证号码的格式正确外,通常还会对出生日期是否合法以及身份证号码中的性别信息进行验证。实现一个精准的身份证号码验证器需要细致地处理各种逻辑...

Global site tag (gtag.js) - Google Analytics