溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

易語言如何驗證十八位身份證號碼是否正確

發(fā)布時間:2021-06-16 17:13:40 來源:億速云 閱讀:299 作者:小新 欄目:編程語言

小編給大家分享一下易語言如何驗證十八位身份證號碼是否正確,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

常量數(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è)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI