麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js replace 與replaceall實例用法詳解

2019-11-20 22:27:37
字體:
來源:轉載
供稿:網友
stringObj.replace(rgExp, replaceText)
  參數
  stringObj
  必選項。要執行該替換的 String 對象或字符串文字。該字符串不會被 replace 方法修改。
  rgExp
  必選項。為包含正則表達式模式或可用標志的正則表達式對象。也可以是 String 對象或文字。如果 rgExp 不是正則表達式對象,它將被轉換為字符串,并進行精確的查找;不要嘗試將字符串轉化為正則表達式。
  replaceText
  必選項。是一個String 對象或字符串文字,對于stringObj 中每個匹配 rgExp 中的位置都用該對象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數也可以是返回替換文本的函數。
  說明
  replace 方法的結果是一個完成了指定替換的 stringObj 對象的復制。
  下面任意的匹配變量都能用來識別最新的匹配以及找出匹配的字符串。在需要動態決定替換字符串的文本替換中可以使用匹配變量。
  字符 含義
  $$ $ (JScript 5.5 或更新版本)
  $& 指定與整個模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本)
  $` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本)
  $' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本)
  $n 捕獲的第 n 個子匹配,此處 n 為從1到9的十進制一位數。 (JScript 5.5 或更新版本)
  $nn 捕獲的第 nn 個子匹配,此處 nn 為從01到99的十進制兩位數。 (JScript 5.5 或更新版本)
  如果 replaceText 為函數,對于每一個匹配的子字符串,調用該函數時帶有下面的 m+3 個參數,此處 m 是在 rgExp 中捕獲的左括弧的個數。第一個參數是匹配的子字符串。接下來的 m 個參數是查找中捕獲的全部結果。第 m+2 個參數是在 stringObj 中匹配出現的偏移量,而第 m+3 個參數為 stringObj。結果為將每一匹配的子字符串替換為函數調用的相應返回值的字符串值。
  Replace 方法更新全局 RegExp 對象的屬性。
  示例
  下面的示例演示了 replace 方法將第一次出現的單詞 "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; // 創建正則表達式模式。
  r = ss.replace(re, "A"); // 用 "A" 替換 "The"。
  return(r); // 返回替換后的字符串。
  }
  另外, replace 方法也可以替換模式中的子表達式。 下面的范例演示了交換字符串中的每一對單詞:
  function ReplaceDemo(){
  var r, re; // 聲明變量。
  var ss = "The rain in Spain falls mainly in the plain.";
  re = /(S+)(s+)(S+)/g; // 創建正則表達式模式。
  r = ss.replace(re, "$3$2$1"); // 交換每一對單詞。
  return(r); // 返回結果字符串。
  }

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

function f2c(s) {
  var test = /(d+(.d*)?)Fb/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."));

js居然不提供replaceAll方法,用for循環又有效率問題,給你一個正則表達式的解決方案
  js 代碼
復制代碼 代碼如下:

String.prototype.replaceAll = function(s1,s2){
  return this.replace(new RegExp(s1,"gm"),s2);
  }

方法: string.replace(new RegExp(oldString,"gm"),newString))
  gm g=global, m=multiLine , 大致上方法就是這樣的,可以實現替換全部指定字串
  另一個簡單的驗證JS的方法:
  在瀏覽器地址欄輸入
  javascript:alert("abcabcabc".replace(new RegExp("a","gm"),"ad"))
  這樣比較省事 ;) ,不知道多行的會不會很方便
  orgStr.replace(new RegExp(findStr, 'g'), replaceStr)
  應該就可以替換所有的了
  如果不用正則表達式
  orgStr.replace(findStr, replaceStr)只能替換第一個
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品啪一品二区三区粉嫩 | 毛片网站视频 | 亚洲欧洲日韩av | 快播av在线 | 国产精品一区二区羞羞答答 | 9999久久 | 色妞妞视频 | 国产69精品久久久久久野外 | 欧美女同hd | 91看片淫黄大片欧美看国产片 | 亚洲白嫩在线观看 | 一级做受毛片免费大片 | 中文字幕在线观看网址 | 国产精品免费久久久久 | 国产999视频在线观看 | 国产精品一区二区日韩 | 亚洲人成中文字幕在线观看 | 亚洲人成网站免费播放 | 一级片久久免费 | 欧美日韩在线看片 | 极品大长腿啪啪高潮露脸 | 精品一区二区三区免费毛片爱 | 2019亚洲日韩新视频 | 在线成人亚洲 | 色综合网在线观看 | 日本羞羞影院 | 黄色片网站免费在线观看 | 日本网站一区二区三区 | 久久蜜桃精品一区二区三区综合网 | 亚洲精品 在线播放 | 国产精品久久久久久久久久 | 国产午夜精品一区二区三区四区 | 亚洲3atv精品一区二区三区 | 成人福利视频在 | chengrenzaixian| 成熟女人特级毛片www免费 | 久草在线资源观看 | 国产一区二区三区四区五区在线 | 欧美成人高清在线 | 国产午夜精品久久久久 | 韩国一大片a毛片 |