js的replace

          Posted on 2008-07-10 17:44 追夢人 閱讀(1876) 評論(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執行對于服務器環境有沒有要求!

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


          網站導航:
           
          主站蜘蛛池模板: 响水县| 峡江县| 青冈县| 威信县| 钟山县| 高碑店市| 琼结县| 抚宁县| 土默特左旗| 贺兰县| 宁河县| 隆化县| 修武县| 九龙坡区| 仁寿县| 龙胜| 洛浦县| 海南省| 沂水县| 湖州市| 台南市| 图木舒克市| 丰都县| 卢湾区| 渭源县| 曲阜市| 阜新| 大姚县| 马鞍山市| 临洮县| 稷山县| 本溪| 根河市| 清新县| 巴青县| 出国| 高碑店市| 鹤岗市| 临漳县| 吕梁市| 安国市|