js replace 与replaceall实例用法详解


Posted in Javascript onAugust 03, 2013

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

Javascript 相关文章推荐
JS在IE和FireFox之间常用函数的区别小结
Mar 12 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
Oct 13 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
vue多层嵌套路由实例分析
Mar 19 Javascript
如何在JavaScript中使用localStorage详情
Feb 04 Javascript
jquery动态加载js三种方法实例
Aug 03 #Javascript
js innerHTML 改变div内容的方法
Aug 03 #Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
Aug 02 #Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
Aug 02 #Javascript
jQuery function的正确书写方法
Aug 02 #Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 #Javascript
js 固定悬浮效果实现思路代码
Aug 02 #Javascript
You might like
星际争霸任务指南——人族
2020/03/04 星际争霸
PHP 组件化编程技巧
2009/06/06 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
使用Apache的rewrite
2021/03/09 Servers
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
小程序自定义日历效果
2018/12/29 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
Python 深入理解yield
2008/09/06 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
在pycharm中显示python画的图方法
2019/08/31 Python
python 穷举指定长度的密码例子
2020/04/02 Python
python如何导入依赖包
2020/07/13 Python
python定时截屏实现
2020/11/02 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
毕业生自荐书
2013/12/18 职场文书
劳动竞赛口号
2014/06/16 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
校长一岗双责责任书
2015/05/09 职场文书
地道战观后感
2015/06/04 职场文书
优秀员工演讲稿
2019/06/21 职场文书