一、定義
replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的字符串。
二、語法
stringObject.replace(regexp/substr,replacement)
第一個參數regexp/substr:字符串或正則表達式
第二個參數replacement:替換后的字符串或函數
三、返回值
一個新的字符串,是用 replacement 替換了 regexp/substr 的第一次匹配或所有匹配之后得到的。
四、方法說明
這個replace() 方法執行的是查找並替換的操作。
它將在 stringObject(字符串對象) 中查找與 regexp/substr 相匹配的子字符串,然后用 replacement 來替換這些字符串。如果 regexp/substr 具有全局標志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。
replacement 可以是字符串,也可以是函數。如果它是字符串,那么每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用於替換
字符 | 替換文本 |
---|---|
$1、$2、...、$99 | 與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。 |
$& | 與 regexp 相匹配的子串。 |
$` | 位於匹配子串左側的文本。 |
$' | 位於匹配子串右側的文本。 |
$$ | 直接量符號。 |
實例:
1、替換字符串
let str = 'learn JavaScript'
let newStr = str.replace(/JavaScript/, 'Python')
console.log(newStr)
2、**替換手機號部分
let tel = '18812345678'
let newTel = tel.replace(/^(\d{3})\d*(\d{4})$/, "$1****$2")
console.log(newTel)
