久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

        手機站
        千鋒教育

        千鋒學習站 | 隨時隨地免費學

        千鋒教育

        掃一掃進入千鋒手機站

        領取全套視頻
        千鋒教育

        關注千鋒學習站小程序
        隨時隨地免費學習課程

        當前位置:首頁  >  技術干貨  > 銀行卡號正則表達式詳解

        銀行卡號正則表達式詳解

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-11-21 16:04:18 1700553858

        一、銀行卡號正則校驗

        銀行卡號是我們日常生活中經常接觸到的一個數(shù)字串,如何驗證銀行卡號的正確性呢?通過正則表達式來實現(xiàn)正則校驗是最直接有效的方法之一。下面是一段實現(xiàn)銀行卡號正則校驗的JavaScript代碼。

        /**
         * 校驗銀行卡號
         * @param {string} cardNo 銀行卡號
         * @returns {boolean} true為合法,false為不合法
         */
        function validateCardNo(cardNo) {
          // 銀行卡號正則表達式
          var reg = /^([1-9]{1})(\d{15}|\d{18})$/;
          return reg.test(cardNo);
        }
        

        該正則表達式中,^表示匹配字符串的開始,([1-9]{1})表示第一位必須是非零數(shù)字,(\d{15}|\d{18})表示后面可以是15位或者18位數(shù)字,$表示匹配字符串的結束。如果傳入的銀行卡號符合該正則表達式,則會返回true,否則返回false。

        二、銀行卡卡號正確格式

        雖然銀行卡號的長度可以是15位或18位,但是不同銀行的銀行卡號格式可能會有所不同。下面列舉幾家銀行的銀行卡號格式。

        中國工商銀行(ICBC)的銀行卡號格式為:6222XXXXXXXXXXXXXX或6282XXXXXXXXXXXXXXX。

        中國農業(yè)銀行(ABC)的銀行卡號格式為:6228XXXXXXXXXXXXXX。

        中國銀行(BOC)的銀行卡號格式為:6227XXXXXXXXXXXX或9558XXXXXXXXXXXXXXX。

        建設銀行(CCB)的銀行卡號格式為:6227XXXXXXXXXXXX或6217XXXXXXXXXXXX。

        三、銀行卡號正則表達式

        銀行卡號的正則表達式不是唯一的,我們還可以根據(jù)需要自定義正則表達式。下面是一個常用的銀行卡號正則表達式。

        // 銀行卡號正則表達式
        /^([1-9]{1})(\d{14}|\d{18})$/
        

        該正則表達式與前面提到的正則表達式的區(qū)別在于([\d]{14}|[\d]{18})變成了(\d{14}|\d{18}),把中括號變成了小括號。

        四、銀行卡號正則驗證

        驗證銀行卡號是否符合正則表達式的方法有很多,可以使用JavaScript中的正則表達式對象的test方法,也可以使用字符串的match方法。下面是使用match方法的示例代碼。

        /**
         * 驗證銀行卡號是否符合正則表達式
         * @param {string} cardNo 銀行卡號
         * @returns {boolean} true為符合,false為不符合
         */
        function matchCardNo(cardNo) {
          // 銀行卡號正則表達式
          var reg = /^([1-9]{1})(\d{14}|\d{18})$/;
          return cardNo.match(reg) !== null;
        }
        

        五、銀行卡號正則匹配

        如果需要從一段文本中提取出符合正則表達式的銀行卡號,可以使用正則表達式的exec方法。下面是一個從文本中提取銀行卡號的示例代碼。

        /**
         * 從文本中提取銀行卡號
         * @param {string} text 文本
         * @returns {Array} 匹配到的銀行卡號數(shù)組
         */
        function extractCardNo(text) {
          // 銀行卡號正則表達式
          var reg = /([1-9])(\d{14}|\d{17})/g;
          var result = [];
          var temp = null;
          while((temp = reg.exec(text)) !== null) {
            result.push(temp[0]);
          }
          return result;
        }
        

        六、銀行卡號正常是多少位

        銀行卡號的長度可以是15位或18位,如果卡號長度不足,會補齊至15位或18位。不同銀行的卡號長度可能不同,可以通過對照前面提到的銀行卡號格式得知,但是一般情況下銀行卡號長度都是16位。

        七、銀行卡號正則表達式驗證

        為了方便用戶輸入,我們可以在輸入框中實時驗證用戶輸入的銀行卡號是否符合正則表達式。下面是一個實現(xiàn)銀行卡號正則表達式驗證的示例代碼。

        /**
         * 銀行卡號正則表達式驗證
         * @param {string} cardNo 銀行卡號
         * @param {function} callback 回調函數(shù),驗證結果通過參數(shù)true/false返回
         */
        function validateCardNoByReg(cardNo, callback) {
          // 銀行卡號正則表達式
          var reg = /^([1-9]{1})(\d{14}|\d{18})$/;
          callback(reg.test(cardNo));
        }
        

        八、銀行卡號規(guī)則

        中國銀行卡行業(yè)標準規(guī)定,銀行卡號是由發(fā)卡行、歸屬地區(qū)、分行代碼、個人賬戶四部分組成,具體規(guī)律如下:

        銀行卡號第1~6位為發(fā)卡行標識代碼,中國人民銀行分配發(fā)行。中國工商銀行的發(fā)卡行標識代碼為:ICBC(6222、6282開頭的卡號)。

        銀行卡號第7~9位為歸屬地區(qū)標識代碼,具體對應關系如下:

        銀行卡號前6位 歸屬地區(qū)標識代碼 城市/省份
        6222 10 北京市
        6282 10 北京市
        6231 11 天津市
        6202 13 上海市
        6221 18 河北省
        6223 18 河北省

        銀行卡號第10~12位為分行標識代碼,由銀行自行分配,且一般只有直轄市和省會城市的銀行分行代碼比較多,其余城市銀行分行代碼較少。銀行卡號第13~19位為個人賬戶標識代碼。個人賬戶標識代碼一般由發(fā)卡行自行決定,所以不同的銀行卡號個人賬戶標識代碼也可能不同。

        九、正則匹配銀行卡號

        正則匹配銀行卡號是非常常見的需求,可以使用JavaScript的正則表達式對象的exec方法來實現(xiàn)。下面是一個正則匹配銀行卡號的示例代碼。

        /**
         * 正則匹配銀行卡號
         * @param {string} text 文本
         * @returns {Array} 匹配到的銀行卡號數(shù)組
         */
        function matchCardNo(text) {
          // 銀行卡號正則表達式
          var reg = /^([1-9]{1})(\d{14}|\d{18})$/g;
          var result = [];
          var temp = null;
          while((temp = reg.exec(text)) !== null) {
            result.push(temp[0]);
          }
          return result;
        }
        

        十、正則表達式匹配銀行卡號

        和正則匹配銀行卡號類似,也可以使用正則表達式來匹配銀行卡號。下面是一個正則表達式匹配銀行卡號的示例代碼。

        var text = '我的銀行卡號是622202xxxxxxxxxxxxx,你的銀行卡號是62222222222222222。';
        // 銀行卡號正則表達式
        var reg = new RegExp('\d{16,19}', 'g');
        var cardNoArr = text.match(reg);
        console.log(cardNoArr); // ["622202xxxxxxxxxxxxx", "62222222222222222"]
        

        該示例代碼使用正則表達式的RegExp函數(shù)來構造一個表達式對象,這里正則表達式的意思是匹配16位到19位的數(shù)字串(\d表示數(shù)字字符,{16,19}表示出現(xiàn)次數(shù)在16和19之間)。然后使用字符串的match方法來匹配文本中的銀行卡號。

        聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
        10年以上業(yè)內強師集結,手把手帶你蛻變精英
        請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
        免費領取
        今日已有369人領取成功
        劉同學 138****2860 剛剛成功領取
        王同學 131****2015 剛剛成功領取
        張同學 133****4652 剛剛成功領取
        李同學 135****8607 剛剛成功領取
        楊同學 132****5667 剛剛成功領取
        岳同學 134****6652 剛剛成功領取
        梁同學 157****2950 剛剛成功領取
        劉同學 189****1015 剛剛成功領取
        張同學 155****4678 剛剛成功領取
        鄒同學 139****2907 剛剛成功領取
        董同學 138****2867 剛剛成功領取
        周同學 136****3602 剛剛成功領取
        相關推薦HOT
        新干县| 通江县| 宣恩县| 出国| 陵水| 西贡区| 秦安县| 平江县| 凤城市| 内丘县| 淮滨县| 正镶白旗| 若尔盖县| 齐河县| 榕江县| 民乐县| 波密县| 大厂| 静乐县| 嘉定区| 延吉市| 海丰县| 安丘市| 长春市| 调兵山市| 聂拉木县| 淄博市| 和顺县| 团风县| 穆棱市| 陆丰市| 华坪县| 六枝特区| 二手房| 莱芜市| 武城县| 昔阳县| 梓潼县| 同江市| 黔江区| 余庆县|