找回密码
 加入
搜索
查看: 4861|回复: 9

[效率算法] 如何正则身份证号码,提取出来后,显示为**年**月**日?【已解决】

  [复制链接]
发表于 2012-12-25 17:39:21 | 显示全部楼层 |阅读模式
本帖最后由 blue_dvd 于 2012-12-25 20:33 编辑

如何正则身份证号码,提取出来后,显示为**年**月**日?
$ShenFZ=152104199402261219
$ShenRi=
MsgBox(0,"",$ShenRi)
多谢了!
发表于 2012-12-25 17:52:17 | 显示全部楼层
回复 1# blue_dvd

正则个Q啊,直接根据身份证的构成用字符串提取函数即可~~
发表于 2012-12-25 17:57:27 | 显示全部楼层
$ShenFZ='152104199402261219'
$ShenRi=StringRegExpReplace($ShenFZ,'\d{6}(\d{4})(\d{2})(\d{2})\d+','$1年$2 月$3日')
MsgBox(0,"",$ShenRi)
发表于 2012-12-25 19:11:55 | 显示全部楼层
要是没有其他字符串的话直接取位数不就行了吗
发表于 2012-12-25 19:14:48 | 显示全部楼层
$ShenFZ='152104199402261219'
MsgBox(0,"",StringMid($ShenFZ,7,4) & '年' & StringMid($ShenFZ,11,2) & '月' & StringMid($ShenFZ,13,2) & '日')
回复 1# blue_dvd
 楼主| 发表于 2012-12-25 20:23:04 | 显示全部楼层
本帖最后由 blue_dvd 于 2012-12-25 20:30 编辑

上面两位都是将其变成字符串来操作的?如何将数字转成字符串?
知道了!用String
 楼主| 发表于 2012-12-25 20:32:18 | 显示全部楼层
感谢3楼的小影和5楼的xms77 !
发表于 2012-12-25 21:48:31 | 显示全部楼层
不会正则可以用StringMid截取
$ShenFZ='152104199402261219'
$ShenRi=StringMid($ShenFZ, 7, 4) & '年' & StringMid($ShenFZ, 11, 2) & '月' & StringMid($ShenFZ, 11, 2) & '日'
MsgBox(0,"",$ShenRi)
发表于 2013-4-25 23:47:28 | 显示全部楼层
这个思路非常好
发表于 2014-11-21 21:41:38 | 显示全部楼层
豁然开朗哈,多谢各位高手指导
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 10:53 , Processed in 0.136854 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表