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)只能替换第一个

html5 replace,js replace 与replaceall实例用法详解相关推荐

  1. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  2. JS手机触摸屏的事件用法详解

    现在智能手机火爆了,我们都是触摸屏事的,那么我们以前js写法是无法满足一些要求了,下面我来给大家介绍几个JS手机触摸屏的事件用法 处理Touch事件能让你跟踪用户的每一根手指的位置.你可以绑定以下四种 ...

  3. php中location.reload,js刷新页面location.reload()用法详解

    本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location. ...

  4. java中刷新js函数,js刷新页面location.reload()用法详解

    本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location. ...

  5. php的empty方法怎么用js写,jQuery.empty() 函数用法详解

    empty()函数用于清空每个匹配元素内的所有内容. empty()函数将会移除每个匹配元素的所有子节点(包括文本节点.注释节点等所有类型的节点). 该函数属于jQuery对象(实例). 语法 jQu ...

  6. js中 javascript:void(0) 用法详解

    javascript:void(0)表示不做任何动作.如: 复制代码代码如下: <a href="javascript:void(0);" οnclick="ale ...

  7. php mhash,PHP加密扩展库-Mhash扩展库实例用法详解

    PHP加密扩展库-Mhash扩展库 什么是Mhash扩展库:Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启.mhash的可以用于创建校验数值,消息摘要,消息认证码, ...

  8. python decode函数的用法_Oracle DECODE函数的用法详解

    Oracle DECODE函数 使用方法: 1.比较大小 select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值 sign()函数根据某个值 ...

  9. html标记ruby,html5 ruby标签的定义及使用方法详解(内有实例介绍)

    本篇文章主要为大家讲解了html5中一个新标签,html5 ruby标签,虽然不算是新的,但也是在html5里新的标签,html5 ruby标签的定义和具体的用法实例都在这篇文章中,希望大家认真阅读 ...

最新文章

  1. 动手敲10行代码读懂Python
  2. c# Task.Factory.StartNew 传参数_C#/C++混合编程一二事
  3. 第5章 Python 数字图像处理(DIP) - 图像复原与重建15 - 最小均方误差(维纳)滤波
  4. jdbc工具类2..0
  5. 每天五分钟,玩转Docker。-Day2
  6. modprobe命令使用方法
  7. 曾逼马云道歉,扬言5年超过阿里!3年后市值差了3万亿 !
  8. python怎么启动服务器_如何在Python单元中从命令行启动服务器
  9. libpcre.so.1 cannot be found
  10. eplan加密狗已损坏_EPLAN Electric P8 仿真加密狗 error 1068 问题
  11. Coolite Toolkit学习笔记四:容器控件之FiledSet、Panel和Window
  12. 【算法导论】第5章,概率分析和随机算法
  13. 2018-2019-1 20165203 《信息安全系统设计基础》第十一周学习总结
  14. Office 2007中的config.xml个性定制说明
  15. 链表 之 字典树(讲解+模板)的构建
  16. 操作系统课程设计之页面置换算法(流程模拟)
  17. iOS9 In-house 未受信任的企业级开发者
  18. iOS UDID与UUID
  19. 视频教程-太空大战游戏实战课程-其他
  20. Linux打开21端口

热门文章

  1. Android中MediaRecorder.stop()报错 java.lang.RuntimeException: stop failed.
  2. java中的守护线程
  3. python绘制3d机械图_使用python绘制3d的图形
  4. Hands-on Lab (14) - 部署StatefulSets应用
  5. 使用Seaborn和Pandas进行数据可视化
  6. 马化腾加持开源,参与构建全球科技共同体
  7. 实现机器学习的循序渐进指南XI——DBSCAN
  8. 关于ODOO中高级视图的看板案例错误
  9. mediarecorder 录制的文件无法拖动进度条_录制课程不用愁,小V手把手教学
  10. 轮盘算法 java_java – 使用轮盘选择的遗传算法