填报报表中身份证号校验

如图,身份证号字段中的数据都是用逗号隔开的单个或多个业主的身份证号,怎么在填报不改变数据格式情况下,校验身份证号位数1583994299(1).png

FineReport 马仔 发布于 2020-3-12 14:25 (编辑于 2020-3-12 14:46)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
1
cd_cwLv6初级互助
发布于2020-3-12 14:56(编辑于 2020-3-12 14:58)

这是校验二代身份证 MAPARRAY(SPLIT(字符串,","),REGEXP(item,"^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$")) 

这是校验身份证长度 MAPARRAY(SPLIT(字符串,","),len(item)=18)


  • 马仔 马仔(提问者) 怎么灵活判断多个身份证号的长度呢
    2020-03-12 15:07 
  • cd_cw cd_cw 回复 马仔(提问者) MAPARRAY(SPLIT(字符串,\",\"),len(item)=18) 这个就是了 SPLIT(字符串,\",\")根据字符串以,分隔为数组 MAPARRAY()公式就是根据条件过滤数组元素返回数组 item就是数组中的值 然后判断 item值的长度 长度大于或小于的将过滤掉 返回的数组是经过过滤之后的新数组
    2020-03-12 15:20 
  • cd_cw cd_cw 回复 马仔(提问者) MAPARRAY(SPLIT(字符串,\",\"),if(len(item)!=18,false,)) 这个可以写在条件公式中 字符串身份证不正确的 改变字体大小 \\颜色 等等一些
    2020-03-12 15:22 
  • 马仔 马仔(提问者) 回复 cd_cw 一条数据中两个身份证号一个位18位一个为15位怎么判断,还有就是怎么先判断证件类型 再判断证件号位数
    2020-03-12 16:03 
  • cd_cw cd_cw 回复 马仔(提问者) 兄弟 不会数据中还有护照和通行证要验证吧
    2020-03-12 16:07 
最佳回答
0
wangfutaoLv5初级互助
发布于2020-3-12 14:47

憨批,你把这个单元格的值放到后面单元格进行拆解处理,然后校验后面单元格的值就行了呀

  • cd_cw cd_cw 提问的都是不懂的 咱们知道了 就好好回答 大家都是这样的阶段过来的
    2020-03-12 15:03 
  • wangfutao wangfutao 回复 cd_cw 老哥,你误会了,我认识他我才这样叫的
    2020-03-12 15:08 
  • cd_cw cd_cw 回复 wangfutao 哦哦 不好意思
    2020-03-12 15:10 
最佳回答
0
ycswyw1123Lv6初级互助
发布于2020-3-12 14:50

len(split(对应单元格,","))  用这个公式获取包含几个人的身份证号,然后用这个  乘上 身份证位数

最佳回答
0
PoseidonLv5高级互助
发布于2020-3-12 14:51

可以写个判断,把逗号替换为空,然后整除18,结果是整数就通过

最佳回答
0
Doctor_WeiLv7中级互助
发布于2020-3-12 14:55

len(A1)然后整除(身份证长度+1)

最佳回答
0
孤陌Lv6资深互助
发布于2020-3-12 14:56

2个方法身份证号 用公式拆分然后扩展 这样自然会现成一对多 然后 每个身份证号写公式LEN($$$)=18 

就可以了

  • 7关注人数
  • 570浏览人数
  • 最后回答于:2020-3-12 14:58
    请选择关闭问题的原因
    确定 取消
    返回顶部