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