410521a
发表于 2010-7-7 23:14:38
好做吗``能不能帮忙写个例子?
afan
发表于 2010-7-7 23:57:55
本帖最后由 afan 于 2010-7-8 01:15 编辑
不好做,规则太多……
做了个简单的判断,不作过多的检测,不过,一般够用~Func IDCard($id) ;判断身份证号码是否符合基本规则
;afan提示:返回1=正确;0=错误
If StringRegExp($id, '^(\d{7}((0\d)|(1))((\d)|3)\d{3}|\d{5}\d{3}((0\d)|(1))((\d)|3)\d{3}[\d|x|X])$') Then Return 1
Return 0
EndFunc ;==>IDCard
410521a
发表于 2010-7-8 10:54:00
回复 109# afan
能不能详细我给讲一下这个正则``不是太明白```
还有加个 Return又是什么意思?
afan
发表于 2010-7-8 11:42:23
正则不好解释~ 可以对照身份证规则参考下
Return 是用在函数里面的,用于返回[返回值],可以参考帮助 Func...Return...EndFunc
410521a
发表于 2010-7-8 11:44:25
回复 111# afan
我加到我代码里边` 没有用到` Return 可以正常运行``应该没啥问题吧`
afan
发表于 2010-7-8 11:47:01
例子:
$a = IDCard('12345678910JQKA')
If Not $a Then Msgbox(48, '注意', '非身份证号')
410521a
发表于 2010-7-21 10:01:45
本帖最后由 410521a 于 2010-7-21 10:16 编辑
回复 109# afan
怎么让他不区分大小写X?
}[\d|x|X])$')
是下边这样吗?
}[\d(?i)|x|X])$')
雨林GG
发表于 2011-7-19 08:16:23
又 是 一好贴 ! 各位辛苦了!^
零度深蓝
发表于 2012-2-4 22:06:33
很有用,标记备用
雨林GG
发表于 2012-4-13 15:50:21
进来学习了! 实在太感谢了!
hollandmfq
发表于 2014-3-15 14:57:35
雷锋精神传天下!