Skip to content

GitLab

  • 菜单
项目 Groups 代码片段
    • 正在加载...
  • 帮助
    • 帮助
    • 支持
    • 社区论坛
    • 提交反馈
    • 为 GitLab 提交贡献
  • 登录
  • S steedos-platform
  • 项目信息
    • 项目信息
    • 动态
    • 标记
    • 成员
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • 议题 640
    • 议题 640
    • 列表
    • 看板
    • 服务台
    • 里程碑
  • 合并请求 58
    • 合并请求 58
  • CI/CD
    • CI/CD
    • 流水线
    • 作业
    • 计划
  • 部署
    • 部署
    • 环境
    • 发布
  • 监控
    • 监控
    • 指标
    • 事件
  • 软件包与镜像库
    • 软件包与镜像库
    • 软件包库
    • 基础设施库
  • 分析
    • 分析
    • CI/CD
    • 仓库
    • 价值流
  • Wiki
    • Wiki
  • 代码片段
    • 代码片段
  • 动态
  • 分支图
  • 创建新议题
  • 作业
  • 提交
  • 议题看板
收起侧边栏
  • steedos
  • steedos-platform
  • 议题
  • #1727

已关闭
开放中
Created 6月 03, 2021 by 庄建国@zhuangjianguoOwner

身份证对象验证规则,太慢

Created by: luodang2050

版本:1.23.26 如下代码,为身份证号的验证规则,身份证号不明允许填“0”,否则要正则匹配且最后校验位需正确。 实测代码能够正常校验,但需要几秒响应,体验太差。 注:sfzh__c为身份证号字段。

NOT(OR(
        sfzh__c = "0",
        AND(
                REGEX(sfzh__c, "([1-6][1-9]|50)[0-9]{4}(18|19|20|21)[0-9]{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)[0-9]{3}[0-9Xx]"),
                CASE(
                        MOD(
                                (VALUE(MID(sfzh__c, 1, 1)) * 7 + VALUE(MID(sfzh__c, 2, 1)) * 9 + VALUE(MID(sfzh__c, 3, 1)) * 10 + VALUE(MID(sfzh__c, 4, 1)) * 5 + VALUE(MID(sfzh__c, 5, 1)) * 8 + VALUE(MID(sfzh__c, 6, 1)) * 4 + VALUE(MID(sfzh__c, 7, 1)) * 2 + VALUE(MID(sfzh__c, 8, 1)) * 1 + VALUE(MID(sfzh__c, 9, 1)) * 6 + VALUE(MID(sfzh__c, 10, 1)) * 3 + VALUE(MID(sfzh__c, 11, 1)) * 7 + VALUE(MID(sfzh__c, 12, 1)) * 9 + VALUE(MID(sfzh__c, 13, 1)) * 10 + VALUE(MID(sfzh__c, 14, 1)) * 5 + VALUE(MID(sfzh__c, 15, 1)) * 8 + VALUE(MID(sfzh__c, 16, 1)) * 4 + VALUE(MID(sfzh__c, 17, 1)) * 2),
                                11
                        ),
                        0,"1",1,"0",2,"X",3,"9",4,"8",5,"7",6,"6",7,"5",8,"4",9,"3",10,"2","?"
                ) = MID(sfzh__c, 18, 1)
        )
))
%d位指派人
分配到
工时统计