隨筆-159  評(píng)論-114  文章-7  trackbacks-0

          ^

          輸入或行的起始部分。

          ^T 匹配"This good earth"中的"T",但與"Uncle Tom's Cabin"中的"T"不匹配

          $

          輸入或行的結(jié)尾部分。

          h$ 匹配"teach"中的"h",但與"teacher"中的"h"不匹配

          *

          0 個(gè)或多個(gè)前置字符。

          um* 匹配"rum"中的"um"、"yummy"中的"umm"和"huge"中的"u"

          +

          1 個(gè)或多個(gè)前置字符。

          um+ 匹配"rum"中的"um"和"yummy"中的"umm",但在"huge"中沒(méi)有任何匹配項(xiàng)

          ?

          前置字符最多出現(xiàn)一次(即,指示前置字符是可選的)。

          st?on 匹配"Johnson"中的"son"和"Johnston"中的"ston",但在"Appleton"或"tension"中沒(méi)有任何匹配項(xiàng)

          .

          除換行符外的任何單字符。

          .an 匹配短語(yǔ)"bran muffins can be tasty"中的"ran"和"can"

          x|y

          x 或 y。

          FF0000|0000FF 匹配 bgcolor="#FF0000" 中的"FF0000"和 font color="#0000FF" 中的"0000FF"

          {n}

          恰好 n 個(gè)前置字符。

          o{2} 匹配"loom"中的"oo"和"mooooo"中前兩個(gè)"o",但在"money"中沒(méi)有任何匹配項(xiàng)

          {n,m}

          至少 n 個(gè)、至多 m 個(gè)前置字符。

          F{2,4} 匹配"#FF0000"中的"FF"和"#FFFFFF"中的前四個(gè)"F"

          [abc]

          用括號(hào)括起來(lái)的字符中的任何一個(gè)字符。用連字符指定某一范圍的字符(例如,[a-f] 等效于 [abcdef])。

          [e-g] 匹配"bed"中的"e"、"folly"中的"f"和"guard"中的"g"

          [^abc]

          未在括號(hào)中括起來(lái)的任何字符。用連字符指定某一范圍的字符(例如,[^a-f] 等效于[^abcdef])。

          [^aeiou] 最初匹配"orange"中的"r"、"book"中的"b"和"eek!"中的"k"

          \b

          詞邊界(例如空格或回車符)。

          \bb 匹配"book"中的"b",但在"goober"或"snob"中沒(méi)有任何匹配項(xiàng)

          \B

          詞邊界之外的任何內(nèi)容。

          \Bb 匹配"goober"中的"b",但在"book"中沒(méi)有任何匹配項(xiàng)

          \d

          任何數(shù)字字符。等效于 [0-9]。

          \d 匹配"C3PO"中的"3"和"apartment 2G"中的"2"

          \D

          任何非數(shù)字字符。等效于 [^0-9]。

          \D 匹配"900S"中的"S"和"Q45"中的"Q"

          \f

          換頁(yè)符。

           

          \n

          換行符。

           

          \r

          回車符。

           

          \s

          任何單個(gè)空白字符,包括空格、制表符、換頁(yè)符或換行符。

          \sbook 匹配"blue book"中的"book",但在"notebook"中沒(méi)有任何匹配項(xiàng)

          \S

          任何單個(gè)非空白字符。

          \Sbook 匹配"notebook"中的"book",但在"blue book"中沒(méi)有任何匹配項(xiàng)

          \t

          制表符。

           

          \w

          任何字母數(shù)字字符,包括下劃線。等效于 [A-Za-z0-9_]。

          b\w* 匹配"the barking dog"中的"barking"和"the big black dog"中的"big"和"black"

          \W

          任何非字母數(shù)字字符。等效于 [^A-Za-z0-9_]。

          \W 匹配"Jake&Mattie"中的"&"和"100%"中的"%"


          <script>
              
              function testfn(str)
              
          {
                  var ex 
          = "^\\w+$";
                  var re 
          = new RegExp(ex,"i");
                  alert(re.test(str));
              }

          </script>

          <script>
          testfn(
          "dfda");
          testfn(
          "123");
          testfn(
          ",");
          testfn(
          ".");
          testfn(
          "123.3");
          </script>

          自己試驗(yàn)一下

          實(shí)際應(yīng)用,Email驗(yàn)證
          <script>
              function testmail(str)
              
          {
                  var ex 
          = "^\\w+@[\\w]+\\.+[a-z]{2,3}$";
                  var re 
          = new RegExp(ex,"i");
                  alert(re.test(str));   
              }

          </script>

          <script>
          testmail(
          "aacom@fda.com");
          </script>

          注意.的轉(zhuǎn)義處理,因?yàn)?本身在正則表達(dá)式中有含義,代表非換行的單個(gè)字符

          而我們想要的是.的實(shí)際標(biāo)點(diǎn)


          <script>
              function spliturl(str)
              
          {
                  var ex 
          = "\\w{3}\.\\w+\.\\w{2,3}\\.\\w{2,3}";
                  var re 
          = new RegExp(ex);
                  var arr 
          = re.exec(str);
                  alert(arr[
          0]);
              }

          </script>

          <script>
          spliturl(
          "www.itnow.com.cn");
          </script>


           

          <script>
              function spliturl(str)
              
          {
                  var ex 
          = "(\\w{3})\.(\\w+)\.(\\w{2,3})\\.(\\w{2,3})";
                  var re 
          = new RegExp(ex);
                  var arr 
          = re.exec(str);
                  alert(arr);
                  alert(RegExp.$
          1);
                  alert(RegExp.$
          2);
              }

          </script>

          <script>
          spliturl(
          "www.itnow.com.cn");
          </script>


          加了小括號(hào)就是定義了一個(gè)變量,可以使用,js中保存在RegExg.$1 ---- RegExg.$9中

          posted on 2006-03-11 13:23 北國(guó)狼人的BloG 閱讀(293) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 临洮县| 元氏县| 藁城市| 奉贤区| 乌鲁木齐县| 扎赉特旗| 龙岩市| 郧西县| 勃利县| 新田县| 新闻| 石城县| 宁国市| 枣庄市| 高唐县| 友谊县| 黄梅县| 武胜县| 垦利县| 寿宁县| 金平| 青川县| 平潭县| 新河县| 邻水| 海阳市| 苗栗县| 封丘县| 图们市| 绥滨县| 沙洋县| 耿马| 依兰县| 凭祥市| 商都县| 武汉市| 都匀市| 车致| 西青区| 虹口区| 呼和浩特市|