jquery验证二代身份证

jquery验证二代身份证$(‘#idcardno’).blur(function(){varidcard=$(this).val();varreg=/^\d{17}\d|x$/;varis_ok=reg.test(idcard);vararrExp=[7,9,10,5,8,4,2,1,6,3,7,9…

大家好,又见面了,我是你们的朋友全栈君。

$('#idcardno').blur(function () { 
   
        var idcard = $(this).val();
        var reg = /^\d{17}\d|x$/;
        var is_ok = reg.test(idcard);

        var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子
        var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码
        if (is_ok) { 
   
            var sum = 0, idx;
            for (var i = 0; i < idcard.length - 1; i++) { 
   
                // 对前17位数字与权值乘积求和
                sum += parseInt(idcard.substr(i, 1), 10) * arrExp[i];
            }
            // 计算模(固定算法)
            idx = sum % 11;
            // 检验第18为是否与校验码相等
            if (arrValid[idx] == idcard.substr(17, 1)) { 
   
                $('#idcardinfo').html('ok').css({ 
   'color': 'green'})
            } else { 
   
                $('#idcardinfo').html('身份证号码错误').css({ 
   'color': 'red'})
            }

        } else { 
   
            $('#idcardinfo').html('身份证号码错误').css({ 
   'color': 'red'})
        }

    });
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153649.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 新东方尹圆圆老师的博客上找来的「建议收藏」

    新东方尹圆圆老师的博客上找来的「建议收藏」这些网站是从新东方尹圆圆老师的博客上找来的,希望大家好好利用:1.http://www.texun.cn/addrso/index.htm特训网:EnglishLearningWebsites2.http://broadcast-live.com/LiveRadioandTVfromAroundtheWorld3.http://www.nxenglish…

    2022年9月13日
    3
  • FDD/TDD协同优化

    FDD/TDD协同优化一、 概述目网络面临上行用户体验容量差、深度覆盖不足、热点区域巨大容量需求三重挑战,随着FDD网络大规模部署的日益临近,TD-LTE和LTEFDD融合组网将是4G无线网络未来的演进方向,可以充分激发TDD/FDD两种制式网络的潜力,实现优势互补,最大化资源承载效率,获得最佳网络性能。二、 FDD部署情况XX移动FDD分布于900MHz和1800MHz两个频段,900MHz频段具备频率低、覆…

    2022年6月1日
    37
  • [Pycharm] 远程连接服务器「建议收藏」

    [Pycharm] 远程连接服务器「建议收藏」1.选择远程python解释器File->Settings->Project->PythonInterpreter点击+号其中Host是服务器的固定IPUsername是服务器上创建的自己的用户名(注意在服务器上创建用户的时候,记住用户名和密码)Next,Next,因为服务器中会安装多个Python环境,在Interpreter中可以指定不同的虚拟环境。在Linux中,通常在/data和/home中都会创建自己用户名的文件夹,虚拟环境由于占内存较多,通常存储在/d

    2022年8月27日
    5
  • 如何构建NTP时间服务器「建议收藏」

    NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。互联网的时间服务器也有很多,例如ntpdatentp.fudan.edu.cn复旦大学的NTP免费提供互联网时间同步。NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi/etc/sysconfig/iptables添加如下规则:-AINPUT-mstate–stateNEW-mudp-pudp

    2022年4月12日
    32
  • pycharm如何在运行时打开控制台[通俗易懂]

    pycharm如何在运行时打开控制台[通俗易懂]pycharm如何在运行时打开控制台解决方案:

    2022年8月25日
    4
  • 测试常见面试题之场景测试回答策略(如电梯该怎么测等)

    测试常见面试题之场景测试回答策略(如电梯该怎么测等)1.概述这类问题是考察面试者测试思路和测试策略的常见问题,主要要根据软件质量的六个特性(功能性、易用性、效率、可靠性、可维护性、可移植性)来进行思考,进而需要结合实际测试软件时考虑的角度,比如功能方面、接口方面、性能方面、维护难度方面、兼容性方面、界面或者说外观方面(比如本地化的一些内容以及界面美观等等)、操作难度或者说易用性方面、可靠度(比如应对异常情况的能力)方面、安全性方面等,根据这些角度结合具体要测试的内容进行思考并作答,例如,在下例中,分别从功能、界面、易用、兼容、安全、性能这六个角度结合业

    2022年6月7日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号