亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js正則表達(dá)式的使用詳解

 更新時(shí)間:2013年07月09日 11:50:13   作者:  
本篇文章是對js中正則表達(dá)式的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下

js中的正則表達(dá)式比起C#中的正則表達(dá)式要弱很多,但基本夠用了
1定義正則表達(dá)式
2關(guān)于驗(yàn)證的三個(gè)這則表達(dá)式方法
3正則表達(dá)式式的轉(zhuǎn)義字符

1定義正則表達(dá)式
在js中定義正則表達(dá)式很簡單,有兩種方式,一種是通過構(gòu)造函數(shù),一種是通過//,也就是兩個(gè)斜杠。
例如

復(fù)制代碼 代碼如下:

  var   re =new RegExp("\\?(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}");

使用構(gòu)造函數(shù)定義正則表達(dá)式,注意大小寫,負(fù)責(zé)就會(huì)不起作用。由于構(gòu)造函數(shù)的參數(shù)是一個(gè)字符串,也可以是兩個(gè)斜杠的方式定義,遇到一些特殊字符就需要使用\進(jìn)行轉(zhuǎn)義
通過雙斜杠的方式定義同樣的正則表達(dá)式
復(fù)制代碼 代碼如下:

var   re =/\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;

復(fù)制代碼 代碼如下:

var re =new RegExp( /^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/);

可以和構(gòu)造函數(shù)達(dá)到同樣的效果,但仔細(xì)分析,發(fā)現(xiàn),通過構(gòu)造函數(shù)需要更多的轉(zhuǎn)義字符\

2關(guān)于驗(yàn)證的三個(gè)正則表達(dá)式方法

使用正則表達(dá)式的主要有字符串的方法match,正則表達(dá)式的方法exec,test
正則表達(dá)式方法test測試給定的字符串是否滿足正則表達(dá)式,返回值是bool類型的,只有真和假,如果只是單純的判斷,不需要其他的處理,可以使用尤其是驗(yàn)證時(shí)。
復(fù)制代碼 代碼如下:

 function test(){ 
    var text="index.aspx?test=1&ww=2&www=3"; //   
      var   re =/\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
    //  var   re =new RegExp("\\?(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}");
        var result=  re.test(text);
     if(result)
     {
        alert("ok");  
     }else
     {
      alert("err"); 
     }                

      }

正則表達(dá)式方法exec測試給定的字符串是否滿足正則表達(dá)式,返回匹配到的字符串,如果沒有匹配的則返回null,和test基本一致,如果需要獲取匹配的各個(gè)子字符串,可以使用下標(biāo)的方式,把上邊的test的例子可以改寫如下
復(fù)制代碼 代碼如下:

 function test(){ 
   var text="index.aspx?test=1&ww=2&www=3";
            var   re = /\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
   //  var   re =new RegExp( "\\?(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}");
        var result=  re.exec(text); 
      if(result)
     {
           alert("ok"); 
                          alert(result);  // 是?test=1&ww=2&www=3,ww=2&    
            alert(result[0]+",0");//是?test=1&ww=2&www=3
     alert(result[1]+",1");//是ww=2&    
     }else
     {
      alert("err"); 
     }  

      }

match其實(shí)是字符串的方法,但參數(shù)確是一個(gè)正則表達(dá)式,把上邊的例子改寫后,如下
復(fù)制代碼 代碼如下:

 function test(){ 
    var text="index.aspx?test=1&ww=234"; //
          var   re = /\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
     //   var   re2 = "(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}"
     var result= text.match(re);
       if(result)
         {
                           alert(result);//?test=1&ww=234,test=1&       
              alert(result[0]+",0");//?test=1&ww=234
        alert(result[1]+",1");//test=1&
   }else
          {
          alert("err"); 
         } 
      }

其實(shí)字符串類還有多個(gè)函數(shù)可以傳遞正則表達(dá)式,split,search,replace等但這些方法已經(jīng)不適合驗(yàn)證了。
復(fù)制代碼 代碼如下:

 function test(){ 
    var text="index.aspx?test=1&ww=234"; //
          var   re = /\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
     //   var   re2 = "(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}"
     var result= text.split(re);    
                  alert(result);       
           alert(result[0]+",0");
        alert(result[1]+",1");    
      }

3正則表達(dá)式式的轉(zhuǎn)義字符
在正則表達(dá)式中會(huì)經(jīng)常出現(xiàn)轉(zhuǎn)義字符,例如問號(hào)?在正則表達(dá)式中有特殊的含義,如果需要匹配問號(hào)?就需要轉(zhuǎn)義,使用轉(zhuǎn)義字符反斜杠\
如下兩個(gè)都是匹配問號(hào)開頭的一段字符串
復(fù)制代碼 代碼如下:

 function test(){ 
   var text="?test=1&ww=2&www=3";
           var   re = /^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;//  \?表示配置問號(hào)?
   //  var   re =new RegExp( "^\\?(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}");//  \\?表示配置問號(hào)?
        var result=  re.exec(text); 
      if(result)
     {
           alert("ok"); 
                 alert(result);       
           alert(result[0]+",0");
        alert(result[1]+",1");    
     }else
     {
      alert("err"); 
     }  

      }

相關(guān)文章

最新評論