`

javascript身份证号码验证函数支持带x

阅读更多
//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num) 
{
    
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    
var error;
    
var varArray = new Array();
    
var intValue;
    
var lngProduct = 0;
    
var intCheckDigit;
    
var intStrLen = num.length;
    
var idNumber = num;    
    
// initialize
    if ((intStrLen != 15&& (intStrLen != 18)) {
        
//error = "输入身份证号码长度不对!";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }    
    
// check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] 
= idNumber.charAt(i);
        
if ((varArray[i] < '0' || varArray[i] > '9'&& (i != 17)) {
            
//error = "错误的身份证号码!.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } 
else if (i < 17) {
            varArray[i] 
= varArray[i]*factorArr[i];
        }
    }
    
if (intStrLen == 18) {
        
//check date
        var date8 = idNumber.substring(6,14);
        
if (checkDate(date8) == false) {
            
//error = "身份证中日期信息不正确!.";
            //alert(error);
            return false;
        }        
        
// calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct 
= lngProduct + varArray[i];
        }        
        
// calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        
switch (intCheckDigit) {
            
case 10:
                intCheckDigit 
= 'X';
                
break;
            
case 11:
                intCheckDigit 
= 0;
                
break;
            
case 12:
                intCheckDigit 
= 1;
                
break;
        }        
        
// check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            
//error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    } 
    
else{        //length is 15
        //check date
        var date6 = idNumber.substring(6,12);
        
if (checkDate(date6) == false) {
            
//alert("身份证日期信息有误!.");
            return false;
        }
    }
    
//alert ("Correct.");
    return true;
}
 
分享到:
评论

相关推荐

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

    网上很多关于身份证校验的javascript代码,不过都没给全,以下是我添加全了函数一起提供的,希望对大家有所帮助。 javascript身份证号码验证-支持18位带x身份证。

    javascript 身份证号码验证函数(可辨真伪,支持15或18位身份证号)测试误差为0

    javascript 身份证号码验证函数(可辨真伪,支持15或18位身份证号)测试误差为0 ,非常不错,其实主要是特别熟悉身份证的算法。

    javascript身份证验证

    15位或18位身份证javascript验证函数

    各种js验证 实用javascript函数

    各种js验证 实用javascript函数 倒计时 实时显示系统时间 身份证验证 验证网址是否合法 验证Email格式是否正确 等等

    js常用验证函数库 提供常用的验证函数,如日期、身份证、数字等,另外提供了一些java中有但js中没有提供的函数,如trim(),取中文字符串长度等

    提供常用的验证函数,如日期、身份证、数字等,另外提供了一些java中有但js中没有提供的函数,如trim(),取中文字符串长度等

    javascript 常用验证函数总结

    随着做项目数量的越来越越多,其中用到js的地方很多相同,这里自己整理了一些常用表单验证的js方法,虽然和其他js验证框架有一定的差距,但是毕竟是自己总结的一些东西,在此与纪录分享一下。

    IP 正则表达式验证

    您可能感兴趣的文章:javascript 手机号码正则表达式验证函数JS正则表达式验证数字代码JavaScript正则表达式验证身份证号码是否合法(两种方法)jquery正则表达式验证(手机号、身份证号、中文名称)邮箱地址正则...

    利用jquery扩展的验证工具库

    isPID: 是不是有效的中国公民身份证号码 isMinLength: 不少于最小字符数 isMaxLength: 不大于最大字符数 isMaxBytes: 不大于指定的字节数 isInRange: 是否在某一个范围内 isValidPattern: 是否满足给定的正则表达式 ...

    程序天下:JavaScript实例自学手册

    16.15 身份证的验证 16.16 JavaScript生成验证码 16.17 JavaScript生成验证码(二) 第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS...

    javascript校验大全

    非常全的校验资料,包括表单不能为空,是否是数字,邮箱,身份证号等的验证

    js-validator:JavaScript 表单验证器

    国民身份证验证器 邮政编码验证器 信用卡验证器 谢巴银行验证器 密码验证器 日期验证器 用法 &lt; head &gt; &lt; script src =" js/validator.js " &gt; &lt;/ script &gt; &lt;/ head &gt; 选项 全局变量 名称 ...

    jQuery formValidator表单验证插件示例源码

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而...

    jQuery 表单验证插件

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而...

    《程序天下:JavaScript实例自学手册》光盘源码

    16.15 身份证的验证 16.16 JavaScript生成验证码 16.17 JavaScript生成验证码(二) 第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS...

    classTest.rar

    (1)实现对身份证号码的验证:17个数字 + 1个数字|x|X (2)实现对数字的验证:小数点后不能超过2位,只能是数字。  范例:23.568 ==&gt; false  45.6 ==&gt; true  45 ==&gt; true 7. A说B说谎了,B说C说谎了,C说A和...

    javascript代码常用大全

    6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,...

    javascript 常用代码大全

    6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如oa中时间) 1.5 显示动态显示时钟效果 (图像,...

    JavaScript网页特效范例宝典源码

    实例090 验证身份证号码 140 实例091 验证用户名和密码 142 实例092 验证车牌号码 144 实例093 验证网站地址 145 实例094 验证数量和金额 147 实例095 验证字符串是否以指定字符开头 149 实例096 限制输入字符串的...

    javascript 正则 判断是否是数字的脚本

    您可能感兴趣的文章:解析使用js判断只能输入数字、字母等验证的方法(总结)js判断输入是否为正整数、浮点数等数字的函数代码javaScript 判断字符串是否为数字的简单方法javascript使用isNaN()函数判断变量是否为数字...

Global site tag (gtag.js) - Google Analytics