时间:2021-05-26
本文实例讲述了js使用Replace结合正则替换重复出现的字符串功能。分享给大家供大家参考,具体如下:
今天想把网站上关于用户搜索资料后的结果列表进行处理,如同百度搜索一样,加入我搜索框中输入“我要日日发网络”,点击搜索按钮所得的结果列表中将会出现“我要日日发网络”字符串为红色。
我今天想到用js来进行处理,就是利用js内的replace函数对结果列表内的字符串进行指定字符串的替换工作,开始我是这样写的
<script type="text/JavaScript" language="javascript"><!-- function ReplaceStr(str) { var content = document.getElementById("content").innerHTML; content = content.replace(str, "<font color='red'>" + str + "</font>"); document.getElementById("content").innerHTML = content; } ReplaceStr("日日发");// --></script>最后运行页面发现只替换掉了第一个“日日发”字符串,其他“日日发”字符串没有被替换掉,开始百思不得其解,后来在朋友的帮助下了解到js内的replace和c#内的replace有很大的不同,js内的replace默认的只是对字符串进行一次扫描。那么利用js的replace函数如何才能够达到字符串全部替换的效果呢? 这里我们就必须引入正则式了的,修改后的js函数如下所示:
<script type="text/javascript" language="javascript"><!-- function ReplaceStr(str) { var content = document.getElementById("content").innerHTML; content = content.replace(new RegExp(str,"gi"), "<font color='red'>" + str + "</font>"); document.getElementById("content").innerHTML = content; } ReplaceStr("日日发");// --></script>这两者一比较就很清楚问题出在哪里了的,利用正则式很轻松地解决了问题,在这里 new RegExp(str,"gi") 这句话是什么意思呢?
后来查阅了一些资料,g - 从头至尾扫描完一次整个字符串,i- 不区分替换字符串的大小写。那么整个语句的意思就好理解了的。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、js正则表达式之replace函数用法:函数功能:replace函数返回根据正则表达式进行文字替换后的字符串的复制。函数格式:stringObj.repla
JavaScriptreplace方法replace方法用于在字符串中用一些字符串替换另一些字符串,或者替换符合正则匹配的字符串,并返回替换后的字符串。其语法如
正则表达式replace()函数:此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串。返回值是一个替换后的新字符串。这里只介绍正则表达式的相关操作,其他
本文实例讲述了JavaScript使用replace函数替换字符串的方法。分享给大家供大家参考。具体如下:JavaScript通过replace函数替换字符串,
1、JS字符串的替换及replace()方法的使用replace(regexp,replacement)方法有两个参数,第一参数可以是一个纯文本字符串或是一个R