西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)javascript|JQuery → 在JS中用Replace 全部替換字符

在JS中用Replace 全部替換字符

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西原創(chuàng)時(shí)間:2015/12/7 16:50:43字體大小:A-A+

作者:西西點(diǎn)擊:633次評(píng)論:1次標(biāo)簽: javascript js

  • 類型:電子教程大。3.3M語(yǔ)言:中文 評(píng)分:3.6
  • 標(biāo)簽:
立即下載

在JS中常用的替換字符串是用 Replace函數(shù),我們先來(lái)看一下 Replace函數(shù)的用法


replace 方法

返回根據(jù)正則表達(dá)式進(jìn)行文字替換后的字符串的復(fù)制。


stringObj.replace(rgExp, replaceText)


參數(shù)

stringObj 


必選項(xiàng)。要執(zhí)行該替換的 String 對(duì)象或字符串文字。該字符串不會(huì)被 replace 方法修改。 


rgExp 


必選項(xiàng)。為包含正則表達(dá)式模式或可用標(biāo)志的正則表達(dá)式對(duì)象。也可以是 String 對(duì)象或文字。如果 rgExp 不是正則表達(dá)式對(duì)象,它將被轉(zhuǎn)換為字符串,并進(jìn)行精確的查找;不要嘗試將字符串轉(zhuǎn)化為正則表達(dá)式。


replaceText 


必選項(xiàng)。是一個(gè)String 對(duì)象或字符串文字,對(duì)于stringObj 中每個(gè)匹配 rgExp 中的位置都用該對(duì)象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數(shù)也可以是返回替換文本的函數(shù)。


說(shuō)明

replace 方法的結(jié)果是一個(gè)完成了指定替換的 stringObj 對(duì)象的復(fù)制。 


下面任意的匹配變量都能用來(lái)識(shí)別最新的匹配以及找出匹配的字符串。在需要?jiǎng)討B(tài)決定替換字符串的文本替換中可以使用匹配變量。


字符 含義 

$$ $ (JScript 5.5 或更新版本) 

$& 指定與整個(gè)模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本) 

$` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本) 

$' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本) 

$n 捕獲的第 n 個(gè)子匹配,此處 n 為從1到9的十進(jìn)制一位數(shù)。 (JScript 5.5 或更新版本) 

$nn 捕獲的第 nn 個(gè)子匹配,此處 nn 為從01到99的十進(jìn)制兩位數(shù)。 (JScript 5.5 或更新版本) 



如果 replaceText 為函數(shù),對(duì)于每一個(gè)匹配的子字符串,調(diào)用該函數(shù)時(shí)帶有下面的 m+3 個(gè)參數(shù),此處 m 是在 rgExp 中捕獲的左括弧的個(gè)數(shù)。第一個(gè)參數(shù)是匹配的子字符串。接下來(lái)的 m 個(gè)參數(shù)是查找中捕獲的全部結(jié)果。第 m+2 個(gè)參數(shù)是在 stringObj 中匹配出現(xiàn)的偏移量,而第 m+3 個(gè)參數(shù)為 stringObj。結(jié)果為將每一匹配的子字符串替換為函數(shù)調(diào)用的相應(yīng)返回值的字符串值。


Replace 方法更新全局 RegExp 對(duì)象的屬性。


示例

下面的示例演示了 replace 方法將第一次出現(xiàn)的單詞 "The" 替換為單詞 "A" 的用法。


function ReplaceDemo(){

   var r, re;                    // 聲明變量。

   var ss = "The man hit the ball with the bat.\n";

   ss += "while the fielder caught the ball with the glove.";

   re = /The/g;             // 創(chuàng)建正則表達(dá)式模式。

   r = ss.replace(re, "A");    // 用 "A" 替換 "The"。

   return(r);                   // 返回替換后的字符串。

}

另外, replace 方法也可以替換模式中的子表達(dá)式。 下面的范例演示了交換字符串中的每一對(duì)單詞: 


function ReplaceDemo(){

   var r, re;                      // 聲明變量。

   var ss = "The rain in Spain falls mainly in the plain.";

   re = /(\S+)(\s+)(\S+)/g;        // 創(chuàng)建正則表達(dá)式模式。

   r = ss.replace(re, "$3$2$1");   // 交換每一對(duì)單詞。

   return(r);                      // 返回結(jié)果字符串。

}

下面的示例(在 JScript 5.5 及更新版本中執(zhí)行)執(zhí)行的是從華氏到攝氏的轉(zhuǎn)換,它演示了使用函數(shù)作為 replaceText。要想知道該函數(shù)是如何工作的,傳遞一個(gè)包含數(shù)值的字符串,數(shù)值后要緊跟 "F" (例如 "Water boils at 212")。

function f2c(s) {

  var test = /(\d+(\.\d*)?)F\b/g;    // 初始化模式。

  return(s.replace

    (test,

      function($0,$1,$2) { 

        return((($1-32) * 5/9) + "C");

      }

    )

  );

}

document.write(f2c("Water freezes at 32F and boils at 212F."));




script language="javascript">
var r= "1\n2\n3\n";
//將字母\n替換成分號(hào)
alert(r.replace("\n",";"));

結(jié)果:1;2\n3\n 只替換了第一個(gè)
</script>

<script language="javascript">
var r= "1\n2\n3\n";
//將字母\n替換成分號(hào)
alert(r.replace(/\n/g, ";"));

結(jié)果:1;2;3; replace 的第一個(gè)參數(shù)可以是正則表達(dá)式,/g標(biāo)識(shí)全文匹配。
</script>

js去掉前后空格,相當(dāng)vbscript中的 trim 函數(shù)

 function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, ""); }   // 去掉左右空格

  function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, ""); }            // 去掉左空格
  function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, ""); }            // 去掉右空格



    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)