posts - 12,  comments - 2,  trackbacks - 0

          在Java 的API中有一個(gè)舍去前后空白字符串的方法trim()

          我們?cè)贘avaScript 中找不到該方法,我們可以寫(xiě)一個(gè)函數(shù)來(lái)實(shí)現(xiàn)去掉字符串的前后空白。

          這個(gè)函數(shù)是:


          String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }

          function ppp(){
          var a="     888     ";
          alert(a.Trim());
          }

          這個(gè)例子中去掉了888 前后的空白

          下面對(duì)這個(gè)例子進(jìn)行更詳細(xì)解釋?zhuān)?br />
          首先: replace(  ,"")函數(shù)就是用后面的空字符串,在替換前面所指定的字符
          /(^\s*)|(\s*$)/g, ""


          /是正則表達(dá)式匹配的語(yǔ)法:

          正則表達(dá)式對(duì)象說(shuō)明
          語(yǔ)法1:
                var regularexpression=/pattern/[switch]

           語(yǔ)法  2  
                  var   regularexpression   =   new   RegExp("pattern",["switch"])     


            正則表達(dá)式對(duì)象語(yǔ)法參數(shù)有以下部分:    
            ___________________________________________________________________  
            參數(shù)部分       |     描述    
            -------------------------------------------------------------------  
            pattern             |   必需的。要使用的正則表達(dá)式模式,例如使用替換方法replace  
                                    |   時(shí),就是要替換的文本。
                                    |  語(yǔ)法   1,用   "/"   字符分隔模式。   
                                    |   語(yǔ)法      2,用引號(hào)將模式引起來(lái)。    
            -------------------------------------------------------------------  
            switch             |   可選項(xiàng)。語(yǔ)法  2   要用引號(hào)將   switch   引起來(lái)。可選的開(kāi)  
                                  |   關(guān)選項(xiàng)有:  
                                  |       i   (忽略大小寫(xiě))  
                                  |       g   (全文查找出現(xiàn)的所有   pattern)  
                                  |       gi   (全文查找、忽略大小寫(xiě))  
            -------------------------------------------------------------------   


            語(yǔ)法1 當(dāng)預(yù)先知道查找字符串時(shí)用
            語(yǔ)法 2 當(dāng)查找字符串經(jīng)常變動(dòng)或不知道時(shí)用,比如由用戶(hù)輸入得到的字符串。  

          在使用前   pattern   參數(shù)被編譯為內(nèi)部格式。
          對(duì)語(yǔ)法   1   來(lái)說(shuō),pattern   在該腳本被裝載時(shí)被編譯。
          對(duì)語(yǔ)法   2   來(lái)說(shuō),pattern   在使用前,或調(diào)用   compile   方法時(shí)被編譯。  



          正則表達(dá)式的語(yǔ)法表:

          字符     |                                           描述    
            ----------------------------------------------------------------  
            \           |     標(biāo)記下一個(gè)字符是特殊字符或文字。例如,"n"   和字符   "n"   匹配。  
                        |     "\n"   則和換行字符匹配。序列   "\\"   和   "\"   匹配,而   "\("   則  
                        |     和   "("   匹配。    
            ----------------------------------------------------------------  
            ^           |     匹配輸入的開(kāi)頭。    
            ----------------------------------------------------------------  
            $           |     匹配輸入的末尾。    
            ----------------------------------------------------------------  
            *           |     匹配前面的子表達(dá)式零或多次。例如,"zo*"   與   "z"   或   "zoo"   匹配。等價(jià)于                  {0,}    
            ----------------------------------------------------------------  
            +           |     匹配前面的子表達(dá)式一次或多次。例如,"zo+"   與   "zoo"   匹配,但和   "z"    
                         |     不匹配。      
            ----------------------------------------------------------------  
            ?           |     匹配前一個(gè)字符零或一次。例如,"a?ve?"   和   "never"   中的   "ve"   匹  
                        |     配。      
            -----------------------------------------------------------------  
            .           |   匹配除換行字符外的任何單個(gè)字符。      
            -----------------------------------------------------------------  
            (pat-   |     匹配   pattern   并記住該匹配。匹配上的子字符串,可以使用   Item    
            tern)   |     [0]...[n],來(lái)從生成的   Matches   集合中取回。要匹配圓括號(hào)字  
                        |     符   (   ),則需使用   "\("   或   "\)"。    
            -----------------------------------------------------------------  
            x|y       |     匹配   x   或   y。例如,"z|food"   和   "z"   或   "food"   匹配。"(z|f)  
                        |     ood"   匹配   "zoo"   或   "food"。      
            -----------------------------------------------------------------  
            {n}       |   n   是非負(fù)整數(shù)。共匹配   n   次。例如,"o{2}"   和   "Bob"   中的   "o"   不匹  
                        |   配,但和   "foooood"   中的前兩個(gè)   o   匹配。    
            -----------------------------------------------------------------  
            {n,}     |   n   是一個(gè)非負(fù)整數(shù)。至少匹配   n   次。例如,"o{2,}"   和   "Bob"   中  
                        |     的   "o"   不匹配,但和   "foooood"   中的所有   o   匹配。"o{1,}"    
                        |   與   "o+"   等效。"o{0,}"   和   "o*"   等效。    
            -----------------------------------------------------------------  
            {n,m}   |   m   和   n   是非負(fù)整數(shù)。至少匹配   n   次而至多匹配   m   次。例如,"o  
                        |     {1,3}"   和   "fooooood"   中的前三個(gè)   o   匹配。"o{0,1}"   和   "o?"   等  
                        |   效。    
            -----------------------------------------------------------------  
            [xyz]   |   字符集合。匹配括號(hào)內(nèi)的任一字符。例如,"[abc]"   和   "plain"   中  
                        |   的   "a"   匹配。    
            -----------------------------------------------------------------  
            [^xyz]|   否定字符集合。匹配非括號(hào)內(nèi)的任何字符。例如,"[^abc]"    
                        |     和   "plain"   中的   "p"   匹配。      
            -----------------------------------------------------------------  
            [a-z]   |   字符范圍。和指定范圍內(nèi)的任一字符匹配。例如,"[a-z]"   匹配   "a"    
                        |   到   "z"范圍內(nèi)的任一小寫(xiě)的字母表字符。      
            -----------------------------------------------------------------  
            [^m-z]|   否定字符范圍。匹配不在指定范圍內(nèi)的任何字符。例如,"[m-z]"   匹配不  
                        |   在   "m"   到   "z"范圍內(nèi)的任何字符。      
            -----------------------------------------------------------------  
            \b         |   匹配字的邊界,也就是說(shuō),在字和空格之間的位置。例如,"er\b"    
                        |   和   "never"   中的   "er"   匹配,但和   "verb"   中的   "er"   不匹配。      
            -----------------------------------------------------------------  
            \B         |   匹配非字邊界。"ea*r\B"   和   "never   early"   中的   "ear"   匹配。      
            -----------------------------------------------------------------  
            \d         |   匹配數(shù)字字符。等價(jià)于   [0-9]。      
            -----------------------------------------------------------------  
            \D         |   匹配非數(shù)字字符。等價(jià)于   [^0-9]。      
            -----------------------------------------------------------------  
            \f         |   匹配換頁(yè)字符。      
            -----------------------------------------------------------------  
            \n         |   匹配換行字符。      
            -----------------------------------------------------------------  
            \r         |   匹配回車(chē)符字符。      
            -----------------------------------------------------------------  
            \s         |匹配任何空白,包括空格、制表、換頁(yè)等。與   "[   \f\n\r\t\v]"   等效。    
            -----------------------------------------------------------------  
            \S         |   匹配任何非空白字符。與   "[^   \f\n\r\t\v]"   等效。      
            -----------------------------------------------------------------  
            \t         |   匹配制表字符。      
            -----------------------------------------------------------------  
            \v         |   匹配垂直制表符。      
            -----------------------------------------------------------------  
            \w         |   匹配包括下劃線在內(nèi)的任何字字符。與   "[A-Za-z0-9_]"   等效。      
            -----------------------------------------------------------------  
            \W         |   匹配任何非字字符。與   "[^A-Za-z0-9_]"   等效。      
            -----------------------------------------------------------------  
            \num     |   匹配   num,其中   num   是一個(gè)正整數(shù)。返回記住的匹配的引用。例  
                        |   如,"(.)\1"   匹配兩個(gè)連續(xù)的同一字符。      
            -----------------------------------------------------------------  
            \n         |   匹配   n,其中   n   是八進(jìn)制換碼值。八進(jìn)制換碼值必須是   1、2、或   3   位  
                        |   長(zhǎng)。例如,"\11"   和   "\011"   都匹配制表字符。"\0011"   和   "\001"    
                        |   &   "1"   是等效的。八進(jìn)制換碼值必須不超過(guò)   256。如果超過(guò)了,則只有  
                        |   前兩位組成表達(dá)式。允許在正則表達(dá)式中使用   ASCII   碼。    
            -----------------------------------------------------------------  
            \xn       |   匹配   n,其中   n   是十六進(jìn)制換碼值。十六進(jìn)制換碼值必須正好是兩位  
                        |   長(zhǎng)。例如,"\x41"   與   "A"   匹配。"\x041"   和   "\x04"   &   "1"   是等效  
                        |   的。允許在正則表達(dá)式中使用   ASCII   碼。    
            -----------------------------------------------------------------  
          刪除代碼前面的行號(hào)的:^\d{1,3}











          posted on 2007-08-10 15:03 doodoosun 閱讀(389) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JavaScript

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


          網(wǎng)站導(dǎo)航:
           

          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(1)

          隨筆分類(lèi)(6)

          隨筆檔案(11)

          文章分類(lèi)(30)

          文章檔案(34)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 屏边| 绥阳县| 博客| 准格尔旗| 高邮市| 隆尧县| 南部县| 台东县| 新邵县| 富平县| 吕梁市| 佳木斯市| 文登市| 东兴市| 都江堰市| 从江县| 永平县| 云阳县| 贵德县| 贡觉县| 崇仁县| 佛山市| 哈尔滨市| 乐亭县| 西城区| 兴业县| 萝北县| 北辰区| 澄迈县| 睢宁县| 昆明市| 报价| 平乐县| 苏尼特左旗| 安岳县| 双柏县| 且末县| 健康| 通榆县| 吉林省| 霍邱县|