欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

正則表達式校驗身份證號碼完整代碼示例

 更新時間:2024年04月29日 09:24:38   作者:RZL_01  
在做用戶實名驗證時,常會用到身份證號碼的正則表達式及校驗方案,下面這篇文章主要給大家介紹了關(guān)于正則表達式校驗身份證號碼的相關(guān)資料,需要的朋友可以參考下
^([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運算符

    淺談javascript運算符——條件,逗號,賦值,()和void運算符

    下面小編就為大家?guī)硪黄獪\談javascript運算符——條件,逗號,賦值,()和void運算符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JS實現(xiàn)提示框跟隨鼠標移動

    JS實現(xiàn)提示框跟隨鼠標移動

    在本篇內(nèi)容里小編給各位整理了一篇關(guān)于JS實現(xiàn)提示框跟隨鼠標移動的相關(guān)實例代碼,需要的朋友們學習下。
    2019-08-08
  • 教你一步步實現(xiàn)一個簡易promise

    教你一步步實現(xiàn)一個簡易promise

    Promise是異步編程的一種解決方案,比傳統(tǒng)的解決方案回調(diào)函數(shù)和事件更合理且更強大,這篇文章主要給大家介紹了關(guān)于如何一步步實現(xiàn)一個簡易promise的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 詳解JavaScript狀態(tài)容器Redux

    詳解JavaScript狀態(tài)容器Redux

    Redux官網(wǎng)上是這樣描述Redux,Redux is a predictable state container for JavaScript apps.(Redux是JavaScript狀態(tài)容器,提供可預測性的狀態(tài)管理)。目前Redux GitHub有5w多star,足以說明 Redux 受歡迎的程度
    2021-06-06
  • Javascript的爺孫通信和組件自調(diào)用詳解

    Javascript的爺孫通信和組件自調(diào)用詳解

    這篇文章主要為大家詳細介紹了Javascript的爺孫通信和組件自調(diào)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • js閉包學習心得總結(jié)

    js閉包學習心得總結(jié)

    這篇文章主要介紹了JS閉包的學習心得,以及分析其中遇到的問題,需要的朋友跟著參考下吧。
    2018-04-04
  • 一篇文章弄懂javascript中的執(zhí)行棧與執(zhí)行上下文

    一篇文章弄懂javascript中的執(zhí)行棧與執(zhí)行上下文

    這篇文章主要給大家介紹了關(guān)于javascript中執(zhí)行棧與執(zhí)行上下文的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用javascript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • ES6 let和const定義變量與常量的應用實例分析

    ES6 let和const定義變量與常量的應用實例分析

    這篇文章主要介紹了ES6 let和const定義變量與常量的應用,結(jié)合實例形式分析了ES6使用let定義變量以及使用const定義常量的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • JS實現(xiàn)的簡單折疊展開動畫效果示例

    JS實現(xiàn)的簡單折疊展開動畫效果示例

    這篇文章主要介紹了JS實現(xiàn)的簡單折疊展開動畫效果,可實現(xiàn)類似百度頁面分享按鈕一樣的折疊展開動畫效果,涉及javascript頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • webpack打包html里面img后src為“[object Module]”問題

    webpack打包html里面img后src為“[object Module]”問題

    這篇文章主要介紹了webpack打包html里面img后src為“[object Module]”問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12

最新評論