正規表現の一般的な使用法

 電話番号の確認

関数isPhone(TEL){
            VARの REGX = / ^ 1 [34578] \ dの{9} $ / 戻りregx.test(TEL)
        }

  

 

IDカード認証

関数isCardNo(数){ 
             VARの REGX = /(^ \ D {15} $)|(^ \ D {18} $)|(^ \ D {17}(\ D | X | X)$)/ 戻りregx.test(番号)。
        }

 桁区切り

関数parseToMoney(NUM){ 
           NUM = parseFloatは(num.toFixed(3))。
           [整数、小数] = String.prototype.split.callせ(NUM、 ''); 
           整数= integer.replace(/ \ D(=(\ D {3})+ $)/ G '$&、'?)。
           リターン整数+(小数点以下(+ 10進数)? '': ''); 
       }

 

 

 文字と数字のほとんどは、検索文字列に表示されます。

STRは、LET 'abdhabdfedsaaadebasを' = ; 
       せNUM = 0、文字 '=' ; 
       せOTHER = str.split ..( '')ソート()( ''参加
       にconsole.log(OTHER); 

       Reはせ = /( \ W)\ + 1 /。G; 
       other.replace(RE、($ 0、$ 1)=> {
            IF(NUM <$ 0 .LENGTH){ 
               NUM = $ 0 .LENGTH;
                CHAR。= $ 1 ; 
           } 
       })
       はconsole.log(文字の`$ {STR}文字列は、{$最も頻繁であるチャー } $ {NUM})times`がありました。

 キャメルケースに

関数f(S){ 
           戻りs.replace(/ - \ W / gで、関数(X){ 
               戻りx.slice(1).toUpperCase(); 
           })
       }

 

 テンプレートエンジンの実装

機能レンダリング(テンプレート、データ){ 
            CONSTをREG = / \ {\ {(\ + W)\} \} /;    // テンプレート列正規
            IF(reg.test(テンプレート)){   // テンプレート決意テンプレートが存在する場合文字列 
                のconst名= reg.exec(テンプレート)[1];   //は、まず現在のテンプレートのテンプレート文字列フィールドの検索 
                テンプレート= template.replaceを(REG、データ[名前]);   // 最初のテンプレートレンダリングストリングが
                返さレンダリング(テンプレート、データ);   // 再帰構造のレンダリングとレンダリング返す
            }
             戻りテンプレート; 
        }

 

URLのparamsオブジェクトを解析

関数parseParams(URL){ 
            CONST paramsStr = /.+\?(.+)$/.exec(url)[1];   // か?取り出された次の文字列 
            、CONST = paramsArr paramsStr.split( '&')を   // によって&に格納された配列分割後に取り出し紐 
            せparamsObj = {}; 

            paramsArr.forEach(PARAM => {
                 IF( 。/ = /テスト(PARAM)){   // プロセスパラメータの値が有する 
                    ; [キー、ヴァル] = param.split( '=')させ   // セグメンテーションのキーと値 
                    のval =は、decodeURIComponent(ヴァル);   // 復号 
                    ヴァルを?= /^\d+$/.test(val)parseFloatは(ヴァル):ヴァル;   // デジタルするかどうかを決定します

                    IF(paramsObj.hasOwnProperty(キー)){   // オブジェクトがキーを持っている場合、加算値 
                        paramsObj [キー] = [] .concat([キー] paramsObj、ヴァル); 
                    }  { // これはオブジェクトのキーではない場合、作成キーセット値 
                        = [キー] paramsObj ヴァル; 
                    } 
                } そうでなければ {   // プロセスないパラメータ値 
                    paramsObj [paramは] = trueと; 
                } 
            })
            戻りparamsObjを; 
        }ありません    

 

 

おすすめ

転載: www.cnblogs.com/yuyujuan/p/11458218.html