您好,登錄后才能下訂單哦!
小編給大家分享一下易語言如何驗證十八位身份證號碼是否正確,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
常量數(shù)據(jù)表
.版本 2 .常量 行政劃位碼2, "<文本長度: 20409>", , 各區(qū)身份證前六位 .常量 行政劃位碼1, "<文本長度: 29990>", , 各區(qū)身份證前六位
驗證十八位身份證號的代碼
.版本 2 .程序集 程序集1 .子程序 驗證身份證號, 邏輯型 .參數(shù) 十八位身份證號, 文本型 .局部變量 系數(shù), 整數(shù)型, , "0" .局部變量 余數(shù)表, 整數(shù)型, , "0" .局部變量 位, 整數(shù)型 .局部變量 和, 整數(shù)型 .局部變量 校驗碼, 文本型 .局部變量 i, 整數(shù)型 .局部變量 temp, 整數(shù)型 .局部變量 臨時位, 文本型 系數(shù) = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 } 余數(shù)表 = { 1, 0, -1, 9, 8, 7, 6, 5, 4, 3, 2 } ' -1代表X .如果真 (取文本長度 (十八位身份證號) ≠ 18) 返回 (假) .如果真結束 .計次循環(huán)首 (17, i) 臨時位 = 取文本中間 (十八位身份證號, i, 1) .如果 (臨時位 ≥ “0” 且 臨時位 ≤ “9”) ' 前17位有非數(shù)字位,直接返回假 位 = 到整數(shù) (臨時位) 和 = 和 + 位 × 系數(shù) [i] .否則 返回 (假) .如果結束 .計次循環(huán)尾 () temp = 余數(shù)表 [和 % 11 + 1] 校驗碼 = 選擇 (temp = -1, “X”, 到文本 (temp)) 返回 (選擇 (校驗碼 = 取文本右邊 (十八位身份證號, 1), 真, 假)) .子程序 取身份證出生年月, 文本型 .參數(shù) 十八位身份證號, 文本型 .局部變量 出生年月, 文本型 .局部變量 temp, 日期時間型 .如果真 (取文本長度 (十八位身份證號) ≠ 18) 返回 (“”) .如果真結束 出生年月 = 取文本中間 (十八位身份證號, 7, 8) temp = 到時間 (出生年月 + “000000”) .如果真 (temp = 指定時間 (100, 1, 1, , , )) 返回 (“”) .如果真結束 返回 (取文本左邊 (出生年月, 4) + “-” + 取文本中間 (出生年月, 5, 2) + “-” + 取文本右邊 (出生年月, 2)) .子程序 取身份證號碼性別信息, 文本型 .參數(shù) 十八位身份證號, 文本型 .局部變量 性別碼, 整數(shù)型 .局部變量 temp, 文本型 .如果真 (取文本長度 (十八位身份證號) ≠ 18) 返回 (“”) .如果真結束 temp = 取文本中間 (十八位身份證號, 17, 1) .如果真 (temp < “0” 或 temp > “9”) 返回 (“”) .如果真結束 性別碼 = 到整數(shù) (temp) 返回 (選擇 (性別碼 % 2 = 0, “女”, “男”)) .子程序 取身份證行政區(qū)位碼信息, 文本型 .參數(shù) 十八位身份證號, 文本型 .局部變量 行政區(qū)位碼, 文本型 .局部變量 行政區(qū)位碼表, 文本型, , "0" .局部變量 i, 整數(shù)型 .局部變量 temp, 文本型, , "0" .局部變量 地區(qū)值, 文本型 行政區(qū)位碼 = 取文本左邊 (十八位身份證號, 6) 行政區(qū)位碼表 = 分割文本 (#行政劃位碼1, #換行符, ) .計次循環(huán)首 (取數(shù)組成員數(shù) (行政區(qū)位碼表), i) .如果真 (行政區(qū)位碼 = 取文本左邊 (行政區(qū)位碼表 [i], 6)) temp = 分割文本 (行政區(qū)位碼表 [i], “,”, ) 地區(qū)值 = temp [2] 跳出循環(huán) () .如果真結束 .計次循環(huán)尾 () .如果真 (地區(qū)值 = “”) 行政區(qū)位碼表 = 分割文本 (#行政劃位碼2, #換行符, ) .計次循環(huán)首 (取數(shù)組成員數(shù) (行政區(qū)位碼表), i) .如果真 (行政區(qū)位碼 = 取文本左邊 (行政區(qū)位碼表 [i], 6)) temp = 分割文本 (行政區(qū)位碼表 [i], “,”, ) 地區(qū)值 = temp [2] 跳出循環(huán) () .如果真結束 .計次循環(huán)尾 () .如果真結束 返回 (地區(qū)值)
啟動窗口程序集
.版本 2 .程序集 窗口程序集_啟動窗口 .子程序 __啟動窗口_創(chuàng)建完畢 顯示結果編輯框.加入文本 (到文本 (驗證身份證號 (“420822199511087728”)) + “,” + 到文本 (取身份證出生年月 (“420822199511087728”)) + “,” + 到文本 (取身份證號碼性別信息 (“420822199511087728”)) + “,” + 到文本 (取身份證行政區(qū)位碼信息 (“420822199511087728”)))
運行結果:
以上是“易語言如何驗證十八位身份證號碼是否正確”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。