javascript 替换对象

igis 2012-07-12 10:11:34
var str1="北京abccc北京abc,fdsaf北京"
需要替换 为str2="<font style='background-color:#ffff00'>北京</font>abccc<font style='background-color:#ffff00'>北京</font>abc,fdsaf<font style='background-color:#ffff00'>北京</font>"
如何处理呀?
...全文
200 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyang37 2012-07-12
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NewDocument</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="Editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<input type="text" id="search" onkeyup="searchDate()"/>
<div id="cnt">a只是一个简单的例子,如用csdn的替换的,如将cSdn,CSdn,CSDN等 这种组合全部给增加font,但是里面的原有的字母是不能改变的</div>
<script type="text/javascript">
var cacheData = cnt.innerHTML;
var searchDate = function () {
var key = document.getElementById("search").value;
var patten = new RegExp("("+key+")","gi");
document.getElementById("cnt").innerHTML = cacheData.replace(patten,"<i style='color:red'>$1</i>");
};
</script>
</body>
</html>
igis 2012-07-12
  • 打赏
  • 举报
回复
那要查找CSDN,
var tmep = "CSDN|CSDn|csdn|CsdN";//等那不是一堆排列?是这样吗?
gf05011 2012-07-12
  • 打赏
  • 举报
回复
var str1="北京abccc北京abc,fdsaf北京" ;
var str2 = str1.replace(/(北京)/g,"<font style='background-color:#ffff00'>$1</font>");
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
那就在搜索完成后还没显示到页面前操作,例如
var str1 = "a中A,国北京abc";
var tmep = "a|A";//把你搜索的关键字拼接成这样的格式就行
var reg = new RegExp("(" + tmep + ")", "gi");//不区分大小写全文匹配
var str = str1.replace(reg, "<font style='background-color:#ffff00'>$1</font>");

然后再显示到页面中
igis 2012-07-12
  • 打赏
  • 举报
回复
对,就是需要做一个类似于搜索数据中带关键字高亮的,在搜索时,不区分大小写。在js里面实现这个功能
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
你说的这个浏览器自己的功能啊,。还是你要做一个类似搜索数据中带你关键字高亮的效果吗
igis 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 12 楼 的回复:

a只是一个简单的例子,如用csdn的替换的,如将cSdn,CSdn,CSDN等 这种组合全部给增加font,但是里面的原有的字母是不能改变的

楼主到底需求是什么呢?还是在测试练习啊?
[/Quote]
不是测试练习,主要我现在有一段字符串,要实现的功能就有点类似于IE里面ctrl+f查找一个英文字符串。你可以打开CSDN,然后ctrl+f,输入app,就可以看到CSDN的首页面的App相关的高亮了,我就需要实现这样的一个效果。
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

a只是一个简单的例子,如用csdn的替换的,如将cSdn,CSdn,CSDN等 这种组合全部给增加font,但是里面的原有的字母是不能改变的
[/Quote]
楼主到底需求是什么呢?还是在测试练习啊?
chenyang37 2012-07-12
  • 打赏
  • 举报
回复
有多少需要替换的都可以用“|”隔开,那个是或操作
igis 2012-07-12
  • 打赏
  • 举报
回复
a只是一个简单的例子,如用csdn的替换的,如将cSdn,CSdn,CSDN等 这种组合全部给增加font,但是里面的原有的字母是不能改变的
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
var str1 = "a中A,国北京abc";
var tmep = "a|A";
var reg = new RegExp("(" + tmep + ")", "g");
替换了就行
chenyang37 2012-07-12
  • 打赏
  • 举报
回复
/a|A/g
igis 2012-07-12
  • 打赏
  • 举报
回复
上面这一个问题解决了。现在一个新的替换的问题
var str1="a中A,国北京abc";
需要将a,A,a全部替换为str2="<font style='background-color:#ffff00'>a</font>中<font style='background-color:#ffff00'>A</font>,国北京<font style='background-color:#ffff00'>a</font>bc";
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

若需要替换的北京是一个变量名称
如这样定义
var strtmp = "北京";
reg 的值如何写呀?
引用 4 楼 的回复:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<t……
[/Quote]
var tmep = "北京";
var reg = new RegExp("(" + tmep + ")", "gi");
把这两句换了就行
chenyang37 2012-07-12
  • 打赏
  • 举报
回复
var strtmp = "北京";
var reg = new RegExp(strtmp,"g")
igis 2012-07-12
  • 打赏
  • 举报
回复
若需要替换的北京是一个变量名称
如这样定义
var strtmp = "北京";
reg 的值如何写呀?
[Quote=引用 4 楼 的回复:]

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><script type="text/javascript" src="Scripts/jq……
[/Quote]
suano 2012-07-12
  • 打赏
  • 举报
回复
楼上正解,你是想做关键字替换吧,还可以加上链接
那一笑的凄凉 2012-07-12
  • 打赏
  • 举报
回复
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript">
var str1 = "北京abccc北京abc,fdsaf北京";
var reg = /(北京)/gi;
var str = str1.replace(reg, "<font style='background-color:#ffff00'>$1</font>");
alert(str);
</script>
<body>

</body>
</html>
乌镇程序员 2012-07-12
  • 打赏
  • 举报
回复
var str2 = str1.replace(/北京/g, "<font style='background-color:#ffff00'>北京</font>");
刹那的菜鸟 2012-07-12
  • 打赏
  • 举报
回复
坐等解答。。。
加载更多回复(2)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧