正則表達式校驗身份證號碼完整代碼示例
^([1-9]\d{5})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$
這個正則表達式用于匹配中國身份證號碼(18位),其中:
^
表示匹配字符串的開頭[1-9]
表示匹配數(shù)字 1-9 中的任意一個\d{5}
表示匹配任意 5 個數(shù)字,即區(qū)域碼(\d{4})(\d{2})(\d{2})
表示匹配出生年月日,其中\d{4}
表示匹配任意 4 個數(shù)字,\d{2}
表示匹配任意 2 個數(shù)字(\d{3})(\d|X)
表示匹配最后四位,其中\d{3}
表示匹配任意 3 個數(shù)字,\d|X
表示匹配最后一位數(shù)字或字母 X$
表示匹配字符串的結(jié)尾
所以,這個正則表達式可以匹配類似于 “110101198001011234” 的身份證號碼。
需要注意的是,這個正則表達式并不能完全保證身份證
這個表達式怎么用到JS上面對字符串判斷呢
在 JavaScript 中,可以使用 test
方法來測試一個字符串是否匹配一個正則表達式。 test
方法會返回一個布爾值,如果匹配成功則返回 true
,否則返回 false
。
你可以將上面的正則表達式編譯成一個 RegExp 對象,然后調(diào)用它的 test
方法來判斷字符串是否符合要求。例如:
const password = "110101198001011234"; const regex = /^([1-9]\d{5})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/; const isValid = regex.test(password); if (isValid) { console.log("符合要求"); } else { console.log("不符合要求"); }
在上面的示例代碼中,首先定義了一個待校驗的身份證號碼 password
,然后將正則表達式編譯成一個 RegExp
對象。
接下來調(diào)用 RegExp
對象的 test
方法,判斷密碼是否符合正則表達式的要求。最后輸出校驗結(jié)果。
如果你需要在表單中校驗身份證號碼時,可以在表單提交時觸發(fā)一個函數(shù)進行校驗。例如:
const form = document.querySelector("form"); const passwordInput = form.querySelector("#password"); form.addEventListener("submit", onSubmit); function onSubmit(event) { event.preventDefault(); const password = passwordInput.value; const regex = /^([1-9]\d{5})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/; const isValid = regex.test(password); if (isValid) { // 提交表單 form.submit(); } else { // 顯示錯誤提示 const error = document.querySelector("#error"); error.textContent = "不符合要求"; } }
在上面的示例代碼中,定義了一個表單元素和一個身份證號碼輸入框。當用戶提交表單時,調(diào)用 onSubmit
函數(shù)進行身份證號碼校驗。如果身份證號碼符合要求,則提交表單;否則,顯示一個錯誤提示。
附:js正則表達式RegExp優(yōu)先級順序
下面從最高優(yōu)先級到最低優(yōu)先級列排序:
? (1) 轉(zhuǎn)義符:\
? (2) 圓括號和方括號:(), []
? (3) 量詞: *, +, ?, {n}, {n,}, {n,m}
? (4) 位置和順序: ^, $
? (5) “或”操作: |
總結(jié)
到此這篇關(guān)于正則表達式校驗身份證號碼的文章就介紹到這了,更多相關(guān)正則表達式校驗身份證號碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談javascript運算符——條件,逗號,賦值,()和void運算符
下面小編就為大家?guī)硪黄獪\談javascript運算符——條件,逗號,賦值,()和void運算符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07一篇文章弄懂javascript中的執(zhí)行棧與執(zhí)行上下文
這篇文章主要給大家介紹了關(guān)于javascript中執(zhí)行棧與執(zhí)行上下文的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用javascript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08webpack打包html里面img后src為“[object Module]”問題
這篇文章主要介紹了webpack打包html里面img后src為“[object Module]”問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12