js的replace

          Posted on 2008-07-10 17:44 追夢人 閱讀(1875) 評論(1)  編輯  收藏 所屬分類: Javascript
          "hand hand hand"想變換為"hand.gif hand.gif hand.gif"
          開始用
          str=str.replace("hand","hand.gif");
          輸出:hand.gif hand hand
          只替換了一次。。。:(
          想到用正則,因為replace本來就可以用正則替換。

          引用

          返回根據正則表達式進行文字替換后的字符串的復制。

          stringObj.replace(rgExp, replaceText)



          于是寫
          str = str.replace(/hand/,"hand.gif")
          無效。。。
          全部替換要加g,
          str = str.replace(/hand/g,"hand.gif")
          還是不行:(

          參考了JavaScript的replace方法與正則表達式結合應用講解這篇文章后,終于明白,原來要用()括起來,才會替換()里的東東。正確的寫法如下:
          str = "hand hand hand";
          str=str.replace(/(hand)/g,"hand.gif");  
          document.write(str);  
          正確輸出:hand.gif hand.gif hand.gif。

          JS的正則另一種寫法是使用RegExp:
          如str=str.replace(/(hand)/g,"hand.gif");
          等同于:
          reg = new RegExp("(hand)","g");
             str = str.replace(reg,'hand.gif');
          reg需要動態生成時更適合使用這種方式。

          擴展一下:
          str = "hand'( hand'( hand'(";
          str=str.replace(/(hand\'\()/g,"hand.gif");  
          document.write(str);

          str = 'hand\'( hand\'( hand\'(';
          str=str.replace(/(hand\'\()/g,"hand.gif");  
          document.write(str);

          Feedback

          # re: js的replace  回復  更多評論   

          2013-07-18 15:09 by beseen
          這個Replace函數是在web端實現的還是在WEB服務器端執行的,還有就是Replace執行對于服務器環境有沒有要求!

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高邮市| 衡东县| 辽阳县| 佛山市| 于都县| 收藏| 西充县| 浦江县| 德化县| 阿拉尔市| 西丰县| 武川县| 南漳县| 宝丰县| 天镇县| 宁武县| 手游| 香格里拉县| 广丰县| 梓潼县| 吉水县| 陵川县| 夏河县| 梁山县| 张家界市| 太湖县| 敖汉旗| 桂阳县| 盱眙县| 龙里县| 东乌珠穆沁旗| 咸阳市| 临江市| 剑川县| 纳雍县| 安平县| 和林格尔县| 潜江市| 贵州省| 松江区| 东明县|