资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

javascript如何实现正则替换

本篇内容主要讲解“javascript如何实现正则替换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript如何实现正则替换”吧!

成都创新互联响应式网站特点就是不管在电脑、平板还是手机上,HTML5都会根据屏幕尺寸自动调节大小、图片分辨率,并且融入一定的动画特效,让网站看起来非常的美观大方。从网站需求对接到网站制作设计、从代码编写到项目上线运维,技术人员全程跟踪,快速响应

javascript实现正则替换的两种方法:1、使用replace()函数,可在字符串中替换一个与正则表达式匹配的子串,语法“字符串对象.replace(/[\r\n]/g,'替换值')”;2、使用replaceAll()函数,可在字符串中替换所有与正则表达式匹配的子串,语法“字符串对象.replaceAll(/[\r\n]/g,'替换值')”。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

javascript中提供两个函数来实现正则替换:

  • replace()函数

  • replaceAll()函数

1、使用replace()函数实现正则替换

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

string.replace(searchvalue,newvalue)

参数描述
searchvalue必须。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
newvalue必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

示例1:利用正则将所有小写"blue" 都替换为 "red"

var str="Mr Blue has a blue house and a blue car";
console.log(str); 
var n=str.replace(/blue/g,"red");
console.log(n);

javascript如何实现正则替换

示例2:利用正则将所有换行符替换为空字符(即去除换行符)

let a = '\n换行个阿斯蒂芬\r换行个阿斯蒂芬ABCD';
console.log(a);
let b = a.replace(/[\r\n]/g,'');
console.log(b);

javascript如何实现正则替换

2、使用replaceAll()函数实现正则替换

replaceAll() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串。

str.replaceAll(regexp|substr, newSubstr|function)

参数描述
regexp|substr必须。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。当使用一个 regex 时,您必须设置全局("g")标志, 否则,它将引发 TypeError:"必须使用全局 RegExp 调用 replaceAll"。
newSubstr|function必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值:一个新的字符串,是用 newSubstr 替换了 regexp 的所有匹配之后得到的。

示例:利用正则将所有 "blue" 替换为 "red"

var str="Mr Blue has a blue house and a blue car";
console.log(str); 
var n=str.replaceAll(/blue/ig,"red");
console.log(n);

javascript如何实现正则替换

到此,相信大家对“javascript如何实现正则替换”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文名称:javascript如何实现正则替换
链接分享:http://cdkjz.cn/article/giegdd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220