Foxtable(狐表)用户栏目专家坐堂 → 大规模粘贴时,如何将身份证号码转换为正确的格式。


  共有2257人关注过本帖树形打印复制链接

主题:大规模粘贴时,如何将身份证号码转换为正确的格式。

帅哥哟,离线,有人找我吗?
pc005637
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
大规模粘贴时,如何将身份证号码转换为正确的格式。  发帖心情 Post By:2018/11/20 14:32:00 [只看该作者]

实际工作中,有些在excel表格的身份证号码字段,电脑可能会自动将一个'号加在身份证号码前或后,或者是输入人员的原因,在身份证号码前或后加各种自定义的符号或字母,防止excel表将身份证号码转换成科学记数法的样子。
我们能否建立一个自定义的函数,在表事情datacolchanging里,自动将这些不规范的身份证号码自动去除异常的字符,保留允许存在的字符,如 1234567890X 这些字符。
如何处理,请各位大神指点。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 15:00:00 [只看该作者]

1、你现在粘贴的时候遇到什么问题?粘贴以后得到什么结果?

 

2、如果只是 ' 的问题,你可以用trim或者replace把字符串替换掉。

 

3、也可以用正则表达式,如

 

Dim str = "abc440881199103110638'789"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{18}")
If mc.count > 0 Then
    msgbox(mc(0).value)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
大规模粘贴时,如何将身份证号码转换为正确的格式。  发帖心情 Post By:2018/11/20 15:13:00 [只看该作者]

粘贴是没什么问题,只是想把不规范的格式,(多余的字符)去除。保留合规的字符,再进行检验正确性。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 15:15:00 [只看该作者]

参考2楼方法,在datacolchanging事件处理。

 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
X符号未处理。  发帖心情 Post By:2018/11/20 15:23:00 [只看该作者]

身份证末尾的x 或 X能处理吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 15:27:00 [只看该作者]

 

Dim str = "abc44088119910311063X'789"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{17}[0-9xX]{1}")
If mc.count > 0 Then
    msgbox(mc(0).value)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
谢谢  发帖心情 Post By:2018/11/20 15:39:00 [只看该作者]

谢谢。

 回到顶部