正則表達 正確匹配身份證

2022-04-29 05:33:09 字數 488 閱讀 6277

'''

身份證號碼是乙個長度為15或18個字元的字串,如果是15位則全部由數字組成,首位不能為0;

如果是18位,則前17位全部是數字,末位可能是數字或x,下面我們嘗試用正則來表示:

'''^[1-9]\d(\d[0-9x])?$

#匹配:110105199812067023

#()表示分組,將\d[0-9x]分成一組,就可以整體約束他們出現的次數為0-1次

#^: 匹配字串的開始

#: 匹配字元組中的字元

#\d: 匹配數字

#: 重複匹配n次

#(): 匹配括號內表示式,分組

#?: 重複一次或零次

# $: 匹配字串的結尾

^([1-9]\d[0-9x]|[1-9]\d)$

#匹配:110105199812067023

#表示先匹配[1-9]\d[0-9x]如果沒有匹配上就匹配[1-9]\d

身份證正則

身份證正則,不僅要考慮輸入的符合身份證規則,還需考慮最後一位符合驗證需求。身份證15位編碼規則 dddddd yymmdd xx p dddddd 6位地區編碼 yymmdd 出生年 兩位年 月日,如 910215 xx 順序編碼,系統產生,無法確定 p 性別,奇數為男,偶數為女 身份證18位編碼規...

身份證正確校驗工具類

具體就不去講為什麼,直接上 public class idcardutil 6位地區碼 18 19 23 d d 年yyyy 0 1 9 10 11 12 月mm 0 2 1 9 10 20 30 31 日dd d 3位順序碼 0 9xx 校驗碼 private static mapresults ...

php驗證身份證是否正確

php驗證身份證是否準確 結合網上資料整理,目前用於專案身份證驗證無問題 public function validateidcard idcard else 如果是15位身份證,則轉化為18位if strlen idcard 15 else 加權因子 factor array 7 9,10 5,8...