首页 > 其他分享 >如何判断身份证是否长期有效(复选框状态)

如何判断身份证是否长期有效(复选框状态)

时间:2023-09-01 13:23:20浏览次数:34  
标签:&& 长期有效 false identifyNumberTest prpLpayPerson 复选框 let 身份证 var

initCheckLongTime() {
            // 计算年月
            let birthYear = this.prpLpayPerson.identifyNumber ? this.prpLpayPerson.identifyNumber.substring(6, 10) : "";
            console.log(birthYear, 'birthYear');
            let nowYear = new Date().getFullYear();
            console.log(nowYear, 'nowYear');
            let year = nowYear - birthYear;
            console.log(year, 'year');
            // 校验身份证格式
            let identifyNumberTest = true;
            let identifyType = this.prpLpayPerson.identifyType;
            let fieldvalue = this.prpLpayPerson.identifyNumber ? this.prpLpayPerson.identifyNumber.trim() : "";
            let i = fieldvalue.length;
            if (identifyType == "01") {
                var idCard15 = /\d{15}/;
                var idCard18 = /\d{17}[\d|X]/;
                if (i != 15 && i != 18) {
                    identifyNumberTest = false;
                } else {
                    if (i == 15 && !idCard15.test(fieldvalue)) {
                        identifyNumberTest = false;
                    }
                    if (i == 18) {
                        if (!idCard18.test(fieldvalue)) {
                            identifyNumberTest = false;
                        } else {
                            var code = fieldvalue.split("");
                            //∑(ai×Wi)(mod 11)
                            //加权因子
                            var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
                            //校验位
                            var parity = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];
                            var sum = 0;
                            var ai = 0;
                            var wi = 0;
                            for (var j = 0; j < 17; j++) {
                                ai = code[j];
                                wi = factor[j];
                                sum += ai * wi;
                            }
                            if (parity[sum % 11] != code[17]) {
                                identifyNumberTest = false;
                            }
                        }
                    }
                }
            }
            console.log(identifyNumberTest, 'identifyNumberTest');
            // 判断管控按钮
            if (identifyNumberTest && this.prpLpayPerson.isPrivate == "1" && this.prpLpayPerson.identifyType == '01' && year >= 46) {
                if (identifyNumberTest && this.prpLpayPerson.startDateValid && this.prpLpayPerson.startDateValid != "" && (!this.prpLpayPerson.dateValid || this.prpLpayPerson.dateValid == '')) {
                    this.longTime = true;
                    this.disabled.longTime = false;
                } else {
                    this.longTime = false;
                    this.disabled.longTime = false;
                }
            } else {
                this.longTime = false;
                this.disabled.longTime = true;
            }
        },

 

标签:&&,长期有效,false,identifyNumberTest,prpLpayPerson,复选框,let,身份证,var
From: https://www.cnblogs.com/jervy/p/17671565.html

相关文章

  • 身份证正则表达式|电话号码、邮箱正则表达式
    //身份证正则表达式(15位)isIDCard1=/1\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeXparseerror:Undefinedcontrolsequence:\datposition37:…IDCard2=/^[1-9]\̲d̲{5}[1-9]\d{3}((…/;身份证正则合并:(^\d{15}KaTeXparseerror:Undefinedcontrolsequence:......
  • element 树形控件,父节点不显示复选框,子节点显示复选框,需增加特定样式
      代码复用参考: /deep/.stafftree.el-tree.el-tree-node.is-leaf+.el-checkbox.el-checkbox__inner{display:inline-block;}/deep/.stafftree.el-tree.el-tree-node.el-checkbox.el-checkbox__inner{display:none;}::v-deep.el-tr......
  • Unity UGUI的Toggle(复选框)组件的介绍及使用
    UnityUGUI的Toggle(复选框)组件的介绍及使用1.什么是Toggle组件?Toggle(复选框)是UnityUGUI中的一个常用组件,用于实现复选框的功能。它可以被选中或取消选中,并且可以代码通过其制控状态。2.Toggle组件的工作原理组Toggle件由两个部分组成:背景记标和。景背用于显示复选框的外观......
  • vue常用正则表达式判断身份证格式
    判断身份证格式 /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/写成一个校验类,以后直接使用functionisIdCard(idCard){letreg=/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|3......
  • Lnton羚通算法算力云平台如何在OpenCV-Python中使用cvui库创建复选框
    CVUI之复选框Pythonimportnumpyasnpimportcv2importcvuidefcheckbox_test():WINDOW_NAME='Checkbox-Test'checked=[False]#创建画布frame=np.zeros((300,400,3),np.uint8)#初始化窗口cvui.init(WINDOW_NAME)while......
  • jmeter 身份证号 处理方式
    1.只要求长度,不校验规则的,直接使用jmeter自带函数${__RandomString(18,0123456789,)}2.有规则:1)python的第三方包faker写好打成.exe包,jmeter通过OS进程取样器运行获取;2)java代码实现,打成jar包,或写成jmeter函数、或Beanshell中实现。弄成函数后最好用;......
  • python语言-----------------身份证信息提前验证
    ##截取身份证信息,判断身份证上面的具体信息:上代码:importredefextract_id_card_info(id_card):#匹配身份证号码并提取出生日期和顺序号match=re.match(r'(\d{6})(\d{4})(\d{2})(\d{2})\d{2}(\d{1})(\d|X)',id_card)ifmatchisNone:returnNonearea......
  • C# 读取带CheckBox复选框控件的表格-并集成到Windows Service里面
    最近的项目要求读取xls文件内的单元格,并且单元格旁边会有复选框标识类型。搜了下只有java的POI有例子,NOPI看项目文档好像是没有实现读取控件的功能。java实现POI POI如何解析出excel中复选框是否被选中https://blog.csdn.net/qq_29832217/article/details/104413475 C#导......
  • java日志脱敏(密码/身份证/其他自定义等)logback
    java日志脱敏(密码/身份证/其他自定义等)logback原文链接:https://blog.csdn.net/weixin_39286166/article/details/126889660一.脱敏规则类 importch.qos.logback.classic.pattern.MessageConverter;importch.qos.logback.classic.spi.ILoggingEvent;importorg.apache.c......
  • mvc的return view复选框反填
    首先我后台返回的是选中的复选框id字符串,把这个字符串绑定到一个控件上             在文档就绪函数获取要反填的id字符串和复选框元素,遍历多选框元素并设置选中状态,最后刷新表单。  ......