在线精品免费视频,91免费国产高清在线,91久久精品国产一区二区,男人在线网站,欧洲视频一区,最新国产精品亚洲,狠狠色狠色综合曰曰

萬(wàn)企互聯(lián)-專(zhuān)注高端網(wǎng)站建設(shè)
掃描關(guān)注萬(wàn)企互聯(lián)微信公眾賬號(hào)

掃一掃微信二維碼

asp實(shí)現(xiàn)判斷身份證號(hào)碼是否正確的方法

編程代碼?2022/2/15? 305

在網(wǎng)頁(yè)中經(jīng)常需要輸入正確的身份證號(hào)碼,只能通過(guò)程序來(lái)驗(yàn)證身份證格式。根據(jù)身份證號(hào)碼生成的原理,就是驗(yàn)證后面幾位就可以了。


<%
'身份證校驗(yàn)
Function CheckidCard(idcard)
Dim LenCard
LenCard=Len(idcard)
'判斷身份證長(zhǎng)度
if not (LenCard = 15 Or LenCard = 18) Then
CheckidCard= "身份證長(zhǎng)度不是15位或18位"
exit Function
End If
'變量聲明區(qū)
dim WeightedFactor,VerifyCode,area,birthday,lastnum,Ai,i,Total,Modnum,sex,age,province,sexNum,provinceID
WeightedFactor = array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2) '為前17位各個(gè)數(shù)字對(duì)應(yīng)的加權(quán)因子
VerifyCode = array(1,0,"x",9,8,7,6,5,4,3,2) '通過(guò)模得到的校驗(yàn)碼
area="11北京,12天津,13河北,14山西,15內(nèi)蒙古,21遼寧,22吉林,23黑龍江,31上海,32江蘇,33浙江,34安徽,35福建,36江西,37山東,41河南,42湖北,43湖南,44廣東,45廣西,46海南,50重慶,51四川,52貴州,53云南,54西藏,61陜西,62甘肅,63青海,64寧夏,65新疆,71臺(tái)灣,81香港,82澳門(mén),91國(guó)外"
'判斷地區(qū)
provinceID=left(idcard,2)
  if instr(area,provinceID)=0 then
    CheckidCard= "身份證頭2位錯(cuò)誤"
    exit function
  end If
'補(bǔ)齊15位卡號(hào)
if LenCard= 15 then  idcard=left(idcard,6) & "19" & mid(idcard,7,9)
'判斷生日
birthday= mid(idcard,7,4)+"-"+mid(idcard,11,2)+"-"+mid(idcard,13,2)
if not  isdate(birthday) then
CheckidCard=  "生日非法"
exit function
end If
if datediff("yyyy",cdate(birthday),date())<18 then
     CheckidCard= "你還未滿(mǎn)18歲,不可能有身份證的"
      exit function
end If
'判斷檢驗(yàn)碼
  if len(idcard)=18 then
lastnum=int(right(idcard,1)) 'lastnum為18位身份證最后一位
   Ai=left(idcard,17) 'Ai為除最后一位字符的字串
    For i = 0 To 16
     Total = Total + cint(Mid(Ai,i+1,1)) * WeightedFactor(i) 'Total前17位數(shù)字與對(duì)應(yīng)的加權(quán)因子積的和
    Next
    Modnum=total mod 11 '此數(shù)為模,total除以11后的余數(shù)
    if VerifyCode(Modnum)<>lastnum then
     CheckidCard= "最后一位校驗(yàn)碼不對(duì)"
     exit function
    end if
  end If
'計(jì)算性別
sexNum=mid(idcard,17,1)
sex="男性"
if   (sexNum mod 2) =0 then sex="女性"
'計(jì)算年齡
age=datediff("yyyy",cdate(birthday),date())
'計(jì)算省份
province=mid(area,instr(area,provinceID)+2,3)
province=replace(province,",","")
CheckidCard= "恭喜,身份證通過(guò)校驗(yàn)<br/>" & "您為:" & sex & ",來(lái)自于:" & province & ",生日為:" & birthday
End Function
%>
文章關(guān)鍵詞
asp
身份證
萬(wàn)企互聯(lián) 萬(wàn)企微信 咸陽(yáng)網(wǎng)站建設(shè) 域名轉(zhuǎn)發(fā)系統(tǒng) IP地址查詢(xún) 萬(wàn)企工具 超越彼岸BEYOND 六佰號(hào) 秦川云 IDC主機(jī)測(cè)評(píng) 品控技術(shù)網(wǎng) TOP圖標(biāo)庫(kù)