身份证号码验证函数

原创 2004年09月15日 20:07:00
Function CheckIDCard(sStr, ByVal dDate, ByVal nSex)
?CheckIDCard = "False"
?If IsNull(sStr) Or sStr = "" Then Exit Function
?If Not IsDate(dDate) Or dDate = "" Then Exit Function
?If Not IsNumeric(nSex) Or nSex = "" Then Exit Function
?
?Dim oRE, sDate
?
?Set oRE??= New RegExp
?oRE.IgnoreCase?= True
?oRE.Global?= True
?
?nSex?= CInt(nSex Mod 2)
?sDate?= Year(dDate) & DblNum(Month(dDate)) & DblNum(Day(dDate))
?
?Select Case Len(sStr)
??Case 8
???If DateDiff("yyyy", dDate, Date()) < 19 Then Exit Function
???oRE.Pattern?= "^[/d]{8}$"
???If Not oRE.Test(sStr) Then Exit Function
???If sStr <> sDate Then Exit Function
??Case 15
???oRE.Pattern?= "^[/d]{15}$"
???If Not oRE.Test(sStr) Then Exit Function
???If Mid(sStr, 7, 6) <> Right(sDate, 6) Then Exit Function
???If CInt(Mid(sStr, 14, 1)) Mod 2 <> nSex Then Exit Function
??Case 18
???oRE.Pattern?= "^(?:[/d]{18}|[/d]{17}X)$"
???If Not oRE.Test(sStr) Then Exit Function
???If Mid(sStr, 7, 8) <> sDate Then Exit Function
???If CInt(Mid(sStr, 17, 1)) Mod 2 <> nSex Then Exit Function
???
???Dim nN, aW, aC, nL
???
???nN = 0
???aW = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
???aC = Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2")
???
???For nL = 1 To 17
????nN = nN + CInt(Mid(sStr, nL, 1)) * aW(nL - 1)
???Next
???
???If UCase(Right(sStr, 1)) <> aC(nN Mod 11) Then Exit Function
??Case Else
???Exit Function
?End Select
?
?Set oRE??= Nothing
?
?CheckIDCard = "True"
End Function

Function DblNum(nNum)
?DblNum = nNum
?If DblNum <10 Then DblNum = "0" & DblNum
End Function

使用Excel的函数批量判断身份证号码是否有效

使用Excel的函数批量判断身份证号码是否有效
  • tongyuehong
  • tongyuehong
  • 2014年12月27日 22:49
  • 3355

一个验证身份证号码的javascript函数

//身份证验证函数 function checkIdcard(idcard){ var Errors=new Array( "yes", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有...
  • JOHNCOOLS
  • JOHNCOOLS
  • 2006年09月06日 17:00
  • 1699

oracle 函数 验证身份证号是否正确

自己测试了一把,如果有纰漏之处,欢迎指正。 create or replace function f_check_id_number(p_number varchar2) return nu...
  • sszssz44
  • sszssz44
  • 2013年11月08日 14:27
  • 718

java身份证合法性校验

直接上代码,里面有测试类/** * 身份证前6位【ABCDEF】为行政区划数字代码(简称数字码)说明(参考《GB/T 2260-2007 中华人民共和国行政区划代码》): * 该数字码的编制原则和...
  • lib739449500
  • lib739449500
  • 2015年01月30日 13:47
  • 21508

Java验证身份证号是否合法

身份证作为居民的唯一标识。在很多系统中需要用户输入身份证号信息,今天我们就来编写一个方法验证身份证号的合法性。...
  • jianggujin
  • jianggujin
  • 2016年06月22日 11:26
  • 4981

用java对身份证号进行验证

身份证号码验证:start    /**        * 功能:身份证的有效验证        * @param IDStr 身份证号        * @return 有效:返回"" 无效...
  • swandragon
  • swandragon
  • 2015年02月07日 21:16
  • 1308

php 验证身份证号码

身份证号码的结构 身份证号码是特征组合码,由17位数字本体码和一位校验码组成。 排列顺序从左至右依此为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。...
  • fdipzone
  • fdipzone
  • 2014年06月29日 23:21
  • 29819

SQL函数验证身份证号码是否有效

-- ============================================= -- 作 者: 黄江华 -- 日 期: 2008-05-27 -- 描 述: 身份证号码是否有效...
  • wsimei
  • wsimei
  • 2011年10月15日 16:12
  • 1991

ASP身份证号码验证函数

身份证号码验证函数function checkIDCard(s, d, g) { if (!s) return false; d = new Date(d); if (!d.getTime()) re...
  • okfei
  • okfei
  • 2009年01月11日 00:48
  • 333

ASP身份证号码验证函数

ASP身份证号码验证函数   function checkIDCard(s, d, g) { if (!s) return false; d = new Date(d); if (!d.getTime...
  • gulijiang2008
  • gulijiang2008
  • 2008年03月07日 12:48
  • 723
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:身份证号码验证函数
举报原因:
原因补充:

(最多只允许输入30个字)