JavaScript replace() 方法
在本例中,我们将执行一次全局替换,每当 "Microsoft" 被找到,它就被替换为 "Mifengjc":
<p>单击按钮将段落中“Microsoft”替换成“Mifengjc”:</p> <p id="demo">Visit Microsoft!</p> <button onclick="myFunction()">点我</button> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var n = str.replace("Microsoft", "Mifengjc"); document.getElementById("demo").innerHTML = n; } </script>
定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
如果想了解更多正则表达式教程请查看本站的:RegExp 教程 和 our RegExp 对象参考手册.
该方法不会改变原始字符串。
浏览器支持
所有主要浏览器都支持 replace() 方法。
语法
string.replace(searchvalue, newvalue)
参数值
参数 | 描述 |
---|---|
searchvalue | 必须。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 |
newvalue | 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 |
返回值
类型 | 描述 |
---|---|
String | 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。 |
技术细节
JavaScript 版本: | 1.2 |
---|
更多实例
执行一个全局替换:
<p>单击按钮将段落中的“blue”替换成“red”。</p> <p id="demo">Mr Blue has a blue house and a blue car.</p> <button onclick="myFunction()">点我</button> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var n = str.replace(/blue/g, "red"); document.getElementById("demo").innerHTML = n; } </script>
执行一个全局替换, 忽略大小写:
<p>单击按钮将段落中的“blue”替换成“red”。</p> <p id="demo">Mr Blue has a blue house and a blue car.</p> <button onclick="myFunction()">点我</button> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var n = str.replace(/blue/gi, "red"); document.getElementById("demo").innerHTML = n; } </script>
在本例中,我们通过 prototype 为 JavaScript 的 String 对象添加方法,来实现将所有 "Microsoft" 替换为 "Mifengjc":
<p>单击按钮将段落中所有“Microsoft”替换成“Mifengjc”:</p> <p id="demo">Visit Microsoft!Visit Microsoft!Visit Microsoft!</p> <button onclick="myFunction()">点我</button> <script> String.prototype.replaceAll = function(search, replacement) { var target = this; return target.replace(new RegExp(search, 'g'), replacement); }; function myFunction() { var str = document.getElementById("demo").innerHTML; var n = str.replaceAll("Microsoft", "Mifengjc"); document.getElementById("demo").innerHTML = n; } </script>