身份证号 js验证 validform

javascript 正则 身份证号验证

datatype:{//传入自定义datatype类型,可以是正则,也可以是函数(函数内会传入一个参数);
            "idvalid":function(gets,obj,curform,regxp){
                //参数gets是获取到的表单元素值,obj为当前表单元素,curform为当前验证的表单,regxp为内置的一些正则表达式的引用;
                var rgp = regxp.idcard;
                if(rgp.test(gets)){
                    if(gets.length==18){
                        var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //将前17位加权因子保存在数组里
                        var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //这是除以11后,可能产生的11位余数、验证码,也保存成数组
                        var idCardWiSum=0; //用来保存前17位各自乖以加权因子后的总和
                        for(var i=0;i<17;i++){
                            idCardWiSum+=gets.substring(i,i+1)*idCardWi[i];
                        }

                        var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置
                        var idCardLast=gets.substring(17);//得到最后一位身份证号码

                        //如果等于2,则说明校验码是10,身份证号码最后一位应该是X
                        if(idCardMod==2){
                            if(idCardLast=="X"||idCardLast=="x"){
                                return true;
                            }else{
                                return false;
                            }
                        }else{
                            //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
                            if(idCardLast==idCardY[idCardMod]){
                               return true;
                            }else{
                                return false;
                            }
                        }
                    }
                    if(gets.length==15){
                        var year =  gets.substring(6,8);
                        var month = gets.substring(8,10);
                        var day = gets.substring(10,12);
                        var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
                        // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
                        if(temp_date.getYear()!=parseFloat(year)||temp_date.getMonth()!=parseFloat(month)-1||temp_date.getDate()!=parseFloat(day)){
                            return false;
                        }else{
                            return true;
                        }
                    }
                }else{
                    return false;
                }

            } //注意return可以返回true 或 false 或 字符串文字,true表示验证通过,返回字符串表示验证失败,字符串作为错误提示显示,返回false则用errmsg或默认的错误提示;
        },
时间: 2024-11-04 07:53:22

身份证号 js验证 validform的相关文章

js实现完美身份证号有效性验证

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个,代码还是用自己的舒服哈 已实现功能:支持15位和18位身份证号,支持地址编码.出生日期.校验位验证 代码如下: /*根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字

JavaScript 身份证号有效验证详解及实例代码

JavaScript 身份证号有效验证详解及实例代码 这篇文章主要介绍了JavaScript 身份证号有效验证详解及实例代码的相关资料,需要的朋友可以参考下 JavaScript验证身份证号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <%@ page language="jav

分别对15和18位的身份证号进行验证

function idCardNo(value){ //验证身份证号方法 var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33:

【C#】身份证号正确性验证及正则表达式格式验证

身份证前两位各省对应的编号是: 1.华北地区:北京市|11,天津市|12,河北省|13,山西省|14,内蒙古自治区|15: 2.东北地区: 辽宁省|21,吉林省|22,黑龙江省|23: 3.华东地区: 上海市|31,江苏省|32,浙江省|33,安徽省|34,福建省|35,江西省|36,山东省|37: 4.华中地区: 河南省|41,湖北省|42,湖南省|43: 5.华南地区:广东省|44,广西壮族自治区|45,海南省|46: 6.西南地区: 四川省|51,贵州省|52,云南省|53,西藏自治区|5

身份证号的验证

我国现行使用公民身份证号码有两种尊循两个国家标准,[gb 11643-1989]和[gb 11643-1999]. [gb 11643-1989]中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数. [gb 11643-1999]中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 地

锋利的js之验证身份证号

我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.  2.地址码  表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行.  3.出生日期码  表示编码对象出生的年.月

js验证真实姓名与身份证号

最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 r

js验证身份证号

/* * 身份证检测(格式.地区.生日.年龄范围) * code:检测字符串 rangeAge:年龄范围[格式为:25-55] * 返回值 0:为空 ,不为0则验证不通过 */ var cityArr = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "

js验证姓名和身份证号

js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 return false; 5 } js验证身份证号,中国的身份证号,一代身份证号是15位的数字,二代身份证都是18位的,最后一位校验位除了可能是数字还可能是'X'或'x',所以有