马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。FunctionCheckCardId(e)
arrVerifyCode=Split("1,0,x,9,8,7,6,5,4,3,2",",")
Wi=Split("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2",",")
Checker=Split("1,9,8,7,6,5,4,3,2,1,1",",")
IfLen(e)<15OrLen(e)=16OrLen(e)=17OrLen(e)>18Then
CheckCardId="身份证号共有15码或18位"
CheckCardId=False
ExitFunction
EndIf
DimAi
IfLen(e)=18Then
Ai=Mid(e,1,17)
ElseIfLen(e)=15Then
Ai=e
Ai=Left(Ai,6)&"19"&Mid(Ai,7,9)
EndIf
IfNotIsNumeric(Ai)Then
CheckCardId="身份证除最初一名外,必需为数字!"
ExitFunction
EndIf
DimstrYear,strMonth,strDay
strYear=CInt(Mid(Ai,7,4))
strMonth=CInt(Mid(Ai,11,2))
strDay=CInt(Mid(Ai,13,2))
BirthDay=Trim(strYear)+"-"+Trim(strMonth)+"-"+Trim(strDay)
IfIsDate(BirthDay)Then
IfDateDiff("yyyy",Now,BirthDay)<-140orcdate(BirthDay)>date()Then
CheckCardId="身份证输出毛病!"
ExitFunction
EndIf
IfstrMonth>12OrstrDay>31Then
CheckCardId="身份证输出毛病!"
ExitFunction
EndIf
Else
CheckCardId="身份证输出毛病!"
ExitFunction
EndIf
Dimi,TotalmulAiWi
Fori=0To16
TotalmulAiWi=TotalmulAiWi+CInt(Mid(Ai,i+1,1))*Wi(i)
Next
DimmodValue
modValue=TotalmulAiWiMod11
DimstrVerifyCode
strVerifyCode=arrVerifyCode(modValue)
Ai=Ai&strVerifyCode
CheckCardId=Ai
IfLen(e)=18AndeAiThen
CheckCardId="身份证号码输出毛病!"
ExitFunction
EndIf
EndFunction
response.writeCheckCardId("528337194801020025")’’’’’’’’’这个不知是谁的身份证,我一试就出来了~~~~~~~~~哈哈
’’’’’这个假如前往的是输出的身份证,则标明准确,不然会提醒堕落...专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。 |