身份證校正演算法與ASP程式

來源:互聯網
上載者:User

18位身份證校正演算法
身份證校正碼演算法
身份證校正碼產生方法:
∑(ai×Wi)(mod 11)

i: 表示號碼字元從由至左包括校正碼在內的位置序號;

ai 表示第i位置上的號碼字元值;

Wi 第i位置上的加權因子,其數值Wi=mod(power(2,(n-1)),11)

i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1

相應的校正碼:
∑(ai×WI)(mod 11) 0 1 2 3 4 5 6 7 8 9 10
校正碼字元值ai 1 0 X 9 8 7 6 5 4 3 2

下面是校正函數:

FUNCTION sfzjy(num)
if len(num)=15 then
cID = left(num,6)&"19"&right(num,9)
elseif len(num)=17 or len(num)=18 then
cID = left(num,17)
end if
nSum=mid(cID,1,1) * 7
nSum=nsum+mid(cID,2,1) * 9
nSum=nsum+mid(cID,3,1) * 10
nSum=nsum+mid(cID,4,1) * 5
nSum=nsum+mid(cID,5,1) * 8
nSum=nsum+mid(cID,6,1) * 4
nSum=nsum+mid(cID,7,1) * 2
nSum=nsum+mid(cID,8,1) * 1
nSum=nsum+mid(cID,9,1) * 6
nSum=nsum+mid(cID,10,1) * 3
nSum=nsum+mid(cID,11,1) * 7
nSum=nsum+mid(cID,12,1) * 9
nSum=nsum+mid(cID,13,1) * 10
nSum=nsum+mid(cID,14,1) * 5
nSum=nsum+mid(cID,15,1) * 8
nSum=nsum+mid(cID,16,1) * 4
nSum=nsum+mid(cID,17,1) * 2
'*計算校正位
check_number=12-nsum mod 11
If check_number=10 then check_number="X" elseIf check_number=12 then check_number="1" elseif check_number=11 then check_number="0" End if sfzjy=check_number
End function

其它校正:
性別與出生年月:

sfznum=社會安全號碼碼
lenx=len(sfznum)
if lenx=15 then
yy="19"&mid(xian,7,2)
mm=mid(xian,9,2)
dd=mid(xian,11,2)
aa=mid(xian,15,1) '15位身分證取第十五位,能被2整除為女性

end if
if lenx=18 then
yy=mid(xian,7,4)
mm=mid(xian,11,2)
dd=mid(xian,13,2)
aa=mid(xian,17,1) '18位身分證取第十七位,能被2整除為女性
end if
if aa mod 2=0 then
xb="女"
else
xb="男"
end if

if lenx=18 then
if mid(xian,18,1)<>cstr(sfzjy(xian)) then '如果第十八位校正碼不等於計算出的校正碼則社會安全號碼碼有誤.
response.write "提示:身份證校正位錯誤!"
else
response.write "結果:社會安全號碼碼校正為合法號碼!"
end if
else '如果輸入的是十五位號,則計算出十八位新號
response.write "新身份證:"&left(xian,6)&"19"&right(xian,9)&cstr(sfzjy(xian))
end if

關於戶籍判斷則而要資料庫.這裡就不提供了.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.