<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>
分享到:
相关推荐
要使用JavaScript验证身份证号码,我们首先需要定义一个函数,例如`isValidIDCard`,接收一个身份证号码作为参数。这个函数的核心就是校验码的计算过程。以下是一个简单的实现: ```javascript function ...
验证身份证号码的完整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正则表达式验证身份证号码是否合法(两种方法)分析 正则表达式(Regular Expression)是一种描述字符模式的对象。下面,我们将通过JavaScript正则表达式来验证身份证号码是否合法。 正则表达式的基本...
* 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 ... * i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置
本压缩包所包含的项目即是一个基于JavaScript实现的身份证号码验证工具,其主要功能是通过编程对身份证号码进行准确性和合法性校验,以保障在各种网络应用中个人信息的安全。 该验证工具利用JavaScript编程语言,...
在这个例子中,JavaScript代码负责处理用户的输入,进行身份证号码的有效性验证。 3. **身份证号码验证规则**:中国的身份证号码由18位数字组成,包括地区码、出生日期码、顺序码和校验码。验证时需检查: - 地区...
运用javascript进行身份证号码格式验证。
4. **校验码**(第18位):基于前17位数字通过特定算法计算得出,用于验证身份证号码的合法性。 要从身份证号码中获取性别,我们只需要查看第17位数字。如果它是奇数,那么这个人是男性;如果是偶数,那么这个人是...
javaScript实现验证身份证是否正确,并能获取户口所在地。 调用方式: 引入idCard.js var msg = idCard.checkIdCard(身份证号); msg为 "正确" 时验证正确,否则返回错误信息 身份证正确时调用 var address = ...
### JS验证身份证号码的有效方法 身份证号码验证是前端开发中常见的功能之一,特别是在涉及用户注册、个人信息填写等场景时尤为重要。下面将详细介绍如何利用JavaScript来验证身份证号码的有效性。 #### 身份证...
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
本篇文章将深入探讨如何使用JavaScript进行手机号码和身份证号码的截取与验证。 手机号码验证: 在中国,手机号码通常为11位数字。我们可以创建一个函数,利用正则表达式来检查用户输入的字符串是否符合手机号码的...
为了准确地验证身份证号码,我们需要构建一个正则表达式来匹配这些规则。以下是对每个部分的具体解释: 1. **地址码**(地区): - 表达式:`[1-9]\d{5}` - 解释:首位数字必须为1到9之间的任意一个数字,后面...
首先,身份证验证是确保用户输入的身份证号码合法的关键步骤。身份证号码由18位数字组成,前6位代表行政区划代码,接下来的7位是出生日期,接着的3位是顺序码,最后一位是校验码。JS中可以使用正则表达式进行验证: ...
本文将详细介绍如何利用HTML5和JavaScript实现对这两种身份证号码的验证。 #### 二、身份证号码结构分析 在进行验证之前,我们需要了解身份证号码的基本结构: 1. **地址码**(前六位):表示编码对象常住户口所在...
JavaScript验证身份证号码是前端开发中常见的需求,因为身份证号码作为重要的个人身份标识,在用户注册等场景中需要进行准确的验证以确保信息的正确性。身份证号码的标准格式由18位数字组成,包括地址码、出生日期码...
2. **格式检查**:验证身份证号码是否符合规定的格式(前17位数字+最后一位校验码)。 3. **地区代码检查**:验证身份证号码的前两位是否为合法的地区代码。 4. **出生日期检查**:验证身份证号码中的出生日期是否...
该项目是一个基于C++/JavaScript的身份证号码和银行码快速识别系统设计源码,主要使用C++语言开发。项目包含20个文件,其中6个C++源文件(.cpp),2个头文件(.h),2个初始化文件(.ini),1个Git属性文件(.gitattributes...
8. **错误处理**:考虑到用户输入可能存在错误,应在解析过程中加入验证,确保输入的身份证号码符合18位格式,并且校验码正确。如果输入无效,应给出相应提示。 9. **可配置性**:根据需求,可以将要获取的项目作为...
通过JavaScript验证身份证号码是一种常见的前端验证手段,除了确认身份证号码的格式正确外,通常还会对出生日期是否合法以及身份证号码中的性别信息进行验证。实现一个精准的身份证号码验证器需要细致地处理各种逻辑...