review javascript 21:正規表現

2832 ワード

定義:文字列の「文字列の法則」を特定します.
(1)知識点
  • (1.1)代替文字セット
  • (1.2)事前定義代替文字セット
  • (1.3)助数詞:文字セットの出現回数
  • (1.4)選択とパケット
  • (1.5)変換
  • (1.6)マッチング指定位置
  • (1.7)事前判定
  • (1.8)漢字代替文字セット
  • (2)細分化
  • (2.1)代替文字セット:必須かつ複数の
  • しか選択できません.

    :[0-9]
    :[a-z]
    :[A-Z]
  • (2.2)事前定義代替文字セット

  • \d --> [0-9]
    \w --> [0-9a-zA-Z_]
    \s --> , :
    \D --> 【\d】,
    . -->
  • (2.3)助数詞:文字セットの出現回数

  • {min,max} -->
    {min,} -->
    {n} -->
    ? --> ,
  •     -->     ,    
    
  •     -->     ,    
    
  • (2.4)選択とパケット選択:

    --> |
    パケット:

    --> ( )
  • (2.5)変換

  • -->
  • (2.6)マッチング指定位置

  • --> ^
    --> $
    --> ^xx | xx$ ( |)
    --> ^xxx$ ( |)
    --> \bxxx\b
  • (2.7)前判子:正式に一致する前に、まず大体文字列全体の規則をあらかじめ判定し、除外法の4つの種類が多いです.数字、小文字、大文字、特殊記号
  • (2.8)漢字候補文字セット:[/u 4 e 00-\u 9 fa5]jQueryプラグインにはすでに大量の既製の正規表現が封入されています.例えば、電子メール、htmlタグ、urlアドレス
  • (3)方法
    定義されたRegExp:
    var patt = new RegExp("e");
    
  • (3.1)test()メソッドは文字列内の指定値を検索する.戻り値はtrueまたはfalseです.test()メソッドは文字列の指定値を検索します.戻り値はtrueまたはfalseです.
  • (3.2)exec()メソッドは文字列内の指定値を検索する.戻り値は、見つけられた値です.マッチが見つからない場合は、nullに戻ります.
  • var patt = new RegExp("e","g");
    
    g:RegExpオブジェクトには2番目のパラメータを追加して検索を設定できます.
  • (3.3)comple()方法はRegExpを変更するために使用される.
  • **Tips:検証を行う:全部前に^を加え、後に$を加えます.
    (4)実践
    
    
    
        
             
    
    
    
    
    
    
    
        init();
        function init() {
            phoneNum();
        }
    
        /**
         *    :
         * +86 0086         ,  1 
         *         
         * 1
         *  34578    
         * 9   
         * (\+86|0086)?\s*1[34578]\d{9}
         */
        function phoneNum(){
            /**
             *       
             *        
             */
            var p1 = new RegExp(/^1[34578]\d{9}$/);
    
            /**
             *       
             *         
             */
            var p2 = new RegExp(/1[34578]\d{9}/);
    
            //     
            console.log(p1.test("134"));//false
            console.log(p1.test("13122222222"));//true
            console.log(p1.test("a13122222222b"));//false
            console.log(p2.test("a13122222222b"));//true
    
            //       
            console.log(p2.exec("a13122222222b"));//13122222222
        }
    
    
    
    RegExp:http://www.w3school.com.cn/js/js_OBregexp.asp RegExpオブジェクト:http://www.w3school.com.cn/jsref/jsref_OBregexp.asp