JavaScript正規表現は簡単に勉強します.


<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <title>JS       </title>
    <script type="text/javascript">
                           
        (function(){
                           
            /*
                RegExp          ,                 。
                                   
                1:      /pattern/attributes
                                   
                2:   RegExp      :new RegExp(pattern, attributes);
                                   
                3:  
                (1)   pattern       ,                   。
                                   
                (2)   attributes          ,     "g"、"i"   "m",
                          、             。
                ECMAScript      ,    m   。
                ★   pattern       ,      ,        。★
                                   
                                   
                4:   
                     RegExp   ,          。
                     pattern             ,
                   RegExp()            RegExp                RegExp   。
                     new    ,   RegExp()       ,
                         new         ,
                                   
                    pattern        ,     pattern,          RegExp   。
                                   
                5:  
                (1)SyntaxError -    pattern           ,
                  attributes    "g"、"i"   "m"      ,     。
                (2)TypeError -    pattern   RegExp   ,
                      attributes   ,     。
                                   
                6.  :
                ★      new RegExp()   ,         ,       “     ”
                eg:
                var reg = /\d+/;
                var reg = new RegExp("\\d+");  //        
            */
                               
                           
        /*
            ★1.test()  :test()                    .
                               
              :RegExpObject.test(string)
                               
                  string      RegExpObject      ,    true,     false。
                               
            eg:
                           
        var reg = /\d+/; //        
        var value1 = "123";
        var value2 = "abc";
        var v3 = "a2c";
        alert(reg.test(value1)); //true
        alert(reg.test(value2)); //false
        alert(reg.test(v3)); //true
        */
                           
        /*
            2.^n : ^n           n     。
            eg:
                           
        var reg = /^\d+/; //           
        var v1 = "123abc";
        var v2 = "abc123";
        alert(reg.test(v1)); //true
        alert(reg.test(v2)); //false
        */
                           
        /*
            3.n$: n$           n     。
            eg:
                           
        var reg = /\d+$/; //         
        var v1 = "abc123";
        var v2 = "123abc";
        alert(reg.test(v1)); //true
        alert(reg.test(v2)); //false
        */
                           
                           
        /*
            4.  2,3
                           
        var reg = /^\d+$/; //        
        var v1 = "abc123";
        var v2 = "123abc";
        var v3 = "123";
        alert(reg.test(v1));    //false
        alert(reg.test(v2));    //false
        alert(reg.test(v3));    //true
                           
        //★    :JS    ,         :var reg = /^xxxxxx$/;
        //^    ,$    
        */
                           
        /*
            5.String   match()  :
            (1)match()               ,                。
                  indexOf()   lastIndexOf(),         ,         。
                               
            (2)   :★
            stringObject.match(searchvalue)
            stringObject.match(regexp)
                               
            (3)              
            searchvalue         。          。
                           
            regexp              。          RegExp   。
                                      RegExp   ,
                                         RegExp     ,
                                    RegExp   。
                                             
            (4)   
                     。          regexp          g。
            (5)  :
               regexp      g,   match()        stringObject        。
                         , match()     null
            eg:
                           
                           
        var str = "1 plus 2 equals 3";
        var str1 = "a plus b equals ab";
        var result = str.match(/\d+/g); //                        
        var result1 = str.match(/\d+/); //              ,        
        var result2 = str1.match(/\d+/); // str1     ,   null
                       
        alert(result); //1,2,3    
        alert(result1); // 1
        alert(result2); // null
                           
                           
        var str3 = "Hello , World, World is not mine";
        var r1 = str3.match("world");   //      world  null
        var r2 = str3.match("World");   //     
        var r3 = str3.match(/World/g);  //    
        var r4 = str3.match(/World/);
        var r5 = str3.match(/world/gi); //    ,        
        alert(r1); //null
        alert(r2); //World
        alert(r3); //World,World   
        alert(r4); //World ,       
        alert(r5); //World,World    ,     
                           
                           
                           
        var str4 = "@Jerry @Tom @Alex Hello" ;
        var re1 = str4.match(/@\w+\s/gim); //   @  ,     ,      
        alert(re1); //@Jerry ,@Tom ,@Alex    
        */
                           
                           
        /*
            6.   
            (1):[abc]               。
            eg:
                           
        var str = "I love a ,but I like b, c is my wife";
        var r1 = str.match(/[abc]/g); //           abc       
        alert(r1); // a,b,b,c   
                           
        var r2 = str.match(/[a-h]/g); //           [a-h]       
        alert(r2); // e,a,b,e,b,c,f,e
        */
                           
                           
                           
        /*
            (2):[^abc]                。
            eg:
                           
        var str = "Is this all there is?";
        var r1 = str.match(/[^a-h]/g); //        [a-h]           
        alert(r1); //I,s, ,t,i,s, ,l,l, ,t,r, ,i,s,?
        */
                           
        /*
            (3):
            [0-9]         0   9    。
            [a-z]           a     z    。
            [A-Z]           A     Z    。
            [A-z]           A     z    。
            [adgk]              。
            [^adgk]             。
            (red|blue|green)             。
                           
                           
        var str = "Hello,Tom";
        var str1 = "Hello,Jerry";
        var str2 = "Hello,Jakc";
        var reg = /^Hello,(Tom|Alex|Jerry)$/;   //  Tom    Alex,    Jerry   
        alert(reg.test(str)); //true
        alert(reg.test(str1)); //true
        alert(reg.test(str2)); //false
        */
                           
        /*
            7.★:   
            (1):.         ,         。
            eg:
                           
        var str = "That's hot!";
        alert(str.match(/h.t/g)); // hat,hot   
        */
                           
        /*
            (2):\w            。         
                  :a-z、A-Z、0-9,     。
            eg:
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\w/g)); //H,e,l,l,o,W,o,r,l,d,1,9,9,9   
        */
                           
                           
        /*
            (3):\W             。
                      :a-z、A-Z、0-9,     。
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\W/g)); // , ,,, ,!,!   
        */
                           
        /*
            (4):\d      。
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\d/g)); // 1,9,9,9   
        */
                           
        /*
            (5):\D        。
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\D/g)); //H,e,l,l,o, ,W,o,r,l,d, ,,, ,!,!   
        */
                           
        /*
            (6):\s        。
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\s/g)); // , ,   
        */
                           
        /*
            (7):\S         。
                           
        var str = "Hello World ,1999 !!";
        alert(str.match(/\S/g)); //H,e,l,l,o,W,o,r,l,d,,,1,9,9,9,!,!   
        */
                           
        /*
            (8):\b          。
                      ,                      。
               ,               。
                ,            。(    [\b]   。)
                               
                   ,    null。
              :\b                       。
              :
            /\bm/    "moon"    'm';
            /oo\b/     "moon"    'oo',   'oo'     'n'        ;
            /oon\b/    "moon"    'oon',   'oon'         ,        ;
            /\w\b\w/        ,                          。
                           
                               
            var str = "Hello World ,1999 !!";
            var str1 = "HelloWorld ,1999 !!";
            alert(str.match(/\bWo/g)); //Wo
            alert(str1.match(/\bWo/g)); //null
        */
                           
        /*
            8.★   
                               
            n+             n     。
            n*              n     。
            n?              n     。
            n{X}         X   n        。
            n{X,Y}       X   Y   n        。
            n{X,}          X   n        。
            n$          n     。
            ^n          n     。
            ?=n               n     。
            ?!n                 n     。
        */
                           
        /*
            (1):n+             n     。
                n*              n     。
                n?              n     。
                           
        var str = "Hello Weiyuan2013! I love you ";
        var reg = /\d+/g; //        
        var reg1 = /l+/g; //        l
        var reg2 = /lo?/g; //  l  0  1 o
        alert(reg.test(str)); //true
        alert(reg1.test(str)); //true
        alert(reg2.test(str)); //true
                           
        */
                           
        /*
            (4):
            ①n{X}        X   n        。
              :n{X,}        X   n        。
                               
            ②n{X,Y}      X   Y   n        。
              :
            n{X,Y}        X   Y   n        。
            X   Y      。  X < Y
                               
            ③n{X,}         X   n        。
            n{X,}          X   n        。
            X      。
                               
                           
        var str = "13523877794";
        var reg = /7{3}/g; //    3 7
        var reg1 = /7{4}/g; //    4 7
        var reg2 = /7{3,4}/g; //     3 7   4  7
        var reg3 = /7{2,}/g; //    2 7 ,    3 7  4 。。。。。
        alert(reg.test(str)); //true
        alert(reg1.test(str)); //false
        alert(reg2.test(str)); // true
        alert(reg3.test(str)); //true
        */
                           
        /*
            (5)
            ①?=n                  n     。
              :?=n                 n     
                               
                               
            ②?!n                    n     。
                           
        var str="Is this all there is";
        alert(str.match(/is(?= all)/g)); //      "all"   "is"       :
                           
        alert(str.match(/is(?! all)/gi)); //        "all"   "is"       :
        */
                           
                           
        //      ---         
        /*
            1.       :  :       
                           
        var paramReg = /^[0-9a-zA-Z]*([a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+)[0-9a-zA-Z]*$/;
        var username = "12hanchao2013";
        alert(paramReg.test(username));
        */
                           
                           
        /*
            2. Email   :
                           
        var emailReg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        var email = "[email protected]";
        alert(emailReg.test(email));
        */
                           
        /*
            3.        
                               
                           
        //var regPhone = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
        var regPhone = /^(([0+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
        var phone = "4008-007-007";//"0427-7531992"; //"021-60825088";//"76423865";
        var result = regPhone.test(phone);
        alert(result);
        */
                           
        /*
            4.      :
                           
        var regMobile = /^1[3|4|5|6|7|8|9][0-9]{1}[0-9]{8}$/;
        var mobile = "13877794164";
        var result = regMobile.test(mobile);
        alert(result);
        */
                           
        /*
            5.     :
                           
        var regQQ =/^[1-9]\d{4,8}$/;
        var qq = "294851313";
        var result = regQQ.test(qq);
        alert(result);
                           
        */
                           
        /*
            6.  MSN:
                           
        var regMsn =  /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        var msn = "[email protected]";
        var result = regMsn.test(msn);
        alert(result);
        */
                           
        /*
            7.    :
                           
        //var regNet = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
        var regNet = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
        var url = "http://game.baidu.com";
        var result = regNet.test(url);
        alert(result);
        */
                           
                           
        /*
            8.  IP:
                           
        var checkIp = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
        var ip = "192.168.25.103";
        var result = checkIp.test(ip);
        alert(result);
        */
                           
                          
        })();
    </script>
</head>
<body>
                       
</body>
</html>
//replace方法の使用
//var reg=/\s\*/g;
//var str=「This*is*a*test*string」
//var reult String=str.replace(reg、「-」)str文字列の「*」の代わりに「-」を使います.
//document.writeln(resultString)//This-i-s-a-test-string
学習参考ブログ:http://blog.jobbole.com/63398/