一、js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串。如下例:

<script type="text/javascript">
var sourceString = "我是被替换的字符串,是被替换的哦";
var replaceString = sourceString.replace("替换", "replace");
alert(replaceString); // 我是被replace的字符串,是被替换的哦
</script>

可以看到替换后的replaceString的值为"我是被replace的字符串,是被替换的哦 ",replace(searchValue,replaceValue)方法替换的只是第一个匹配的字符串,那么如何实现替换全部匹配的字符串呢?——可以使用replace(searchRegexp,replaceValue)的正则表达式方式来实现。

<script type="text/javascript">
var sourceString = "我是被替换的字符串,是被替换的哦";
var replaceString = sourceString.replace(/替换/gm, "replace"); //sourceString.replace(new RegExp("替换", "gm"), "replace");
alert(replaceString); // 我是被replace的字符串,是被replace的哦
</script>

二、添加 Stirng对象的原型方法:实现replaceAll()方法

<script type="text/javascript">
// 替换所有
String.prototype.replaceAll = function (searchString, replaceString, ignoreCase) {
if (RegExp.prototype.isPrototypeOf(searchString)) {
return this.replace(searchString, replaceString);
} else {
return this.replace(new RegExp(searchString, (ignoreCase ? "gmi" : "gm")), replaceString);
}
} var sourceString = "我是被替换的字符串,是被替换的哦,Is Replace or replace?";
var replaceString = sourceString.replaceAll("替换", "replace");
//replaceString = sourceString.replaceAll(/替换/gm, "replace");
//replaceString = sourceString.replaceAll(new RegExp("替换", "gm"), "replace");
//replaceString = sourceString.replaceAll("replace", "替换"); // 我是被替换的字符串,是被替换的哦,Is Replace or 替换?
//replaceString = sourceString.replaceAll("replace", "替换", true); // 我是被替换的字符串,是被替换的哦,Is 替换 or 替换?
console.log(replaceString);
alert(replaceString); // 我是被replace的字符串,是被replace的哦,Is Replace or replace?
</script>

js 字符串的replace() 方法和实现replaceAll() 方法的更多相关文章

  1. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  2. js 字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  3. js字符串转成数字的三种方法

    js读取的html代码中获得的值 ,统统是以字符串的形式呈现的,为了方便我们后面对数据的操作,有时候我们有必要进行转换一下. 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转 ...

  4. js实现replaceAll方法

    js本来有replace方法,请看w3school的说明: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法: stringObject.rep ...

  5. js字符串 数字 的转换

    js 字符串转化成数字 的 三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数 ...

  6. js 字符串 replace replaceAll

    var str = "男的女的老的少的"; alert(str.replace('的','')); 可以看到替换后的str的值为"男女的老的少的",replac ...

  7. js中字符串的replace方法区分单双引号

    今天遇到一问题,js文件中调用字符串的replace方法,不起作用. 后来排查可能觉得replace("<option  value='1'>admin</option&g ...

  8. 从js的repeat方法谈js字符串与数组的扩展方法

    js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { ...

  9. 浅谈 js 字符串 trim 方法之正则篇

    原文:浅谈 js 字符串 trim 方法之正则篇 关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了.而且支持中文空格   等 ...

随机推荐

  1. 那些年我们跳过的 IE坑

    一,  IE input X 去掉文本框的叉叉和密码输入框的眼睛图标 解:    从IE 10开始,type=”text” 的 input 在用户输入内容后,会自动产生一个小叉叉(X),方便用户点击清 ...

  2. Solve Error: node postinstall sh: node: command not found

    When install the yeoman using the following command: npm install -g yo You might have the following ...

  3. Java演算法-「雞兔同籠問題」

    /** * 雞兔同籠問題:窮舉算法思想 */ import java.util.*; public class ChichenAndHabbit { static int chichenNum,hab ...

  4. 一篇文章学懂Shell脚本,最简明的教程在这里

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合. Shell可以直接使用在win/Unix/Linux上面 ...

  5. 这样,可以在firefox播放flash了

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="62" heigh ...

  6. C#获取本周五日期字符串

    using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using ...

  7. 如何设置默认以管理员权限运行cmd

    设置cmd以管理员权限运行 目的:创建或删除文件等命令时,需要管理员权限运行cmd(linux以root用户登录).   例如,创建日志目录.   方法一: 1.激活administrator用户 2 ...

  8. linux基础命令--groupmod 修改组定义

    描述 groupmod命令用于修改系统上的组定义. groupmod命令通过更改组数据库(the group database)里的相关条目来修改指定的组. 语法 groupmod [选项] GROU ...

  9. Centos修改时间为24小时制

    终端输入命令:tzselect 根据提示选择:5 --> 9-->1-->1-->okrm /etc/localtimeln -sf /usr/share/zoneinfo/A ...

  10. vue 封装组件

    props 接收数据 props对象里面 键值 是对改数据的 数据类型 的规定.做了规范,使用者就只能传输指定类型的数据,否则报警告 先根据要求写出完整的代码,再一一用参数实现组件封装 这里试着封装一 ...