`

jquery身份证验证

 
阅读更多

//验证身份证号码
jQuery.validator.addMethod("idCardNo", function (value, element) {

    //验证身份证号方法
    var testIdCardNo = function (idcard) {
        var Errors = new Array("验证通过!", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!");
        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: "xinjiang", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }
        var idcard, Y, JYM;
        var S, M;
        var idcard_array = new Array();
        idcard_array = idcard.split("");
        if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];
        switch (idcard.length) {
            case 15:
                if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
                    ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性
                }
                else {
                    ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性
                }
                if (ereg.test(idcard))
                    return Errors[0];
                else
                    return Errors[2];
                break;
            case 18:
                if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
                    ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
                }
                else {
                    ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
                }
                if (ereg.test(idcard)) {
                    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);
                    if (M == idcard_array[17])
                        return Errors[0];
                    else
                        return Errors[3];
                }
                else
                    return Errors[2];
                break;
            default:
                return Errors[1];
                break;
        }
    };
    return testIdCardNo(value) == '验证通过!';
}, jQuery.validator.format("非法身份证号"));

分享到:
评论

相关推荐

    身份证验证的js文件 (jquery)

    身份证验证 jquery js validate验证

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

    这个压缩包中的"身份证验证程序.html"文件是一个使用JavaScript编写的HTML页面,它用于验证输入的身份证号码是否合法。以下是对这个知识点的详细阐述: 1. **HTML(超文本标记语言)**:HTML是构建网页的基础,它...

    jQuery邮箱、电话(包含手机验证)、身份证验证

    本文将深入探讨jQuery实现的邮箱、电话(包括手机号码验证)以及身份证验证的技术细节,帮助开发者理解并应用到自己的项目中。 首先,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画...

    jquery.validate 扩展身份证校验方法

    ### jQuery.validate 扩展身份证校验方法 在前端开发中,对用户输入的数据进行校验是非常重要的一步,它能够帮助开发者提高数据的准确性和安全性。本文将详细介绍如何使用`jQuery.validate`插件来扩展身份证号码的...

    身份证的验证插件

    jq validate 插件下的身份证 护照的验证 // 身份证号码验证 jQuery.validator.addMethod("isIdCardNo", function(value, element) { return this.optional(element) || idCardNoUtil.checkIdCardNo(value); }, ...

    jquery数据验证 配置简单 使用简单

    还有 网址、数字、身份证、日期等验证,都只需要如上一样添加属性即可,详细的请看文件中的DataValidation.js文件 文件包含DEMO,DEMO在VS2010上编写的,如打不开请把script文件夹和default.aspx加入新建web中即可,...

    jquery表单验证类

    2. **身份证验证**:在中国,身份证验证涉及到复杂的算法,包括校验码的计算和身份证号码的格式检查。jQuery表单验证类可以实现这一功能,确保输入的身份证号码合法。 3. **数字验证**:对数字输入进行限制,例如,...

    jquery表单验证框架提供的身份证验证方法(示例代码)

    在使用jQuery表单验证框架进行身份证验证时,通常需要编写JavaScript函数,根据身份证号码的规则来判断输入是否合法。中国的第二代居民身份证号码由18位组成,其中前6位为地址码,接下来的8位为出生日期码,然后是3...

    前端验证源代码包括JQuery插件验证

    这样的插件可能提供如邮箱格式验证、手机号码验证、身份证号码验证等特定规则。使用插件的好处是代码复用和维护性,开发者无需从零开始编写验证规则,只需简单调用插件方法即可。 `dangdang验证源代码.txt`很可能...

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

    身份证验证涉及到更复杂的校验规则,包括地区代码、出生日期、顺序号和校验码等。以下是一个简单的18位身份证号码验证函数: ```javascript function validateIdCard(id) { const idRegex = /(^\d{15}$)|(^\d{18}$...

    jQuery使用正则验证15/18身份证的方法示例

    本文实例讲述了jQuery使用正则验证15/18身份证的方法。分享给大家供大家参考,具体如下: 最好的jQuery正则验证身份证代码: 按照身份证的算法定制而成,精确度完美支持15和18位. 错一个数字或字母都通不过,无需通过...

    自定义jquery easyui 验证

    ##### 2.9 身份证验证(idcard) - **Validator 函数**:使用函数 `idCard` 来判断输入的身份证号码是否合法。此函数首先检查身份证号码的长度是否为18位,然后通过一系列复杂的算法验证其有效性。 - **Message**:...

    jQuery表单验证及demo

    // 更复杂的身份证验证逻辑 } else { return false; } } ``` ### 4. 验证应用实践 在实际项目中,我们通常会将验证逻辑封装在一个函数中,然后在表单提交时调用这个函数。例如: ```javascript function ...

    jQuery完整注册表单提交验证

    总结来说,jQuery在创建一个完整的注册表单验证系统中发挥着重要作用,它提供了便捷的DOM操作和事件处理机制,帮助开发者轻松地实现前端验证,提升用户体验。结合适当的后端交互,我们可以构建出一个安全、友好的...

    只允许输入数字、身份证、座机的js插件

    在IT行业中,JavaScript和jQuery是前端开发中不可或缺的工具,特别是在构建交互式用户界面时。本文将详细讨论如何创建一个“只允许输入数字、身份证、座机的js插件”,并探讨相关技术点。 首先,从标题我们可以知道...

    jQuery表单验证插件Validform

    1. **多样化验证规则**:Validform涵盖了多种常见的验证类型,如数字、字符串、身份证、手机号码、邮箱、网址等。这些规则可以满足大多数表单验证需求,确保数据的正确性。 2. **自定义验证规则**:除了内置的验证...

    HTML5手机身份证上传表单提交代码.zip

    7. **前端验证**:为了减轻服务器负担和提供更好的用户体验,前端可以进行初步的身份证图片格式和大小验证。例如,检查文件是否为图像类型、文件大小是否超出限制等。 8. **后端处理**:服务器端接收到身份证图片后...

    jquery表单验证大全.rar

    在实际项目中,我们可能会遇到更复杂的需求,比如验证日期范围、身份证号码等。通过合理的配置和自定义方法,jQuery.validate.js都能很好地胜任。例如,验证日期范围可以这样实现: ```javascript $.validator.add...

    jQuery表单验证实例代码.zip

    综上所述,"jQuery表单验证实例代码.zip"提供了使用jQuery实现的表单验证示例,覆盖了常见的验证需求,如手机号码、电子邮件、中文姓名和身份证号码。开发者可以参考这些代码来为自己的项目构建高效、友好的表单验证...

Global site tag (gtag.js) - Google Analytics