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>"
如何处理呀?

解决方案 »

  1.   

    var str2 = str1.replace(/北京/g, "<font style='background-color:#ffff00'>北京</font>");
      

  2.   

    <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>
      

  3.   

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

  4.   

    var strtmp = "北京";
    var reg = new RegExp(strtmp,"g")
      

  5.   

     var tmep = "北京";
    var reg = new RegExp("(" + tmep + ")", "gi");
    把这两句换了就行
      

  6.   

    上面这一个问题解决了。现在一个新的替换的问题
    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";
      

  7.   

     var str1 = "a中A,国北京abc";
        var tmep = "a|A";
        var reg = new RegExp("(" + tmep + ")", "g");
    替换了就行
      

  8.   

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

  9.   

    不是测试练习,主要我现在有一段字符串,要实现的功能就有点类似于IE里面ctrl+f查找一个英文字符串。你可以打开CSDN,然后ctrl+f,输入app,就可以看到CSDN的首页面的App相关的高亮了,我就需要实现这样的一个效果。
      

  10.   

    那就在搜索完成后还没显示到页面前操作,例如
    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>"); 然后再显示到页面中
      

  11.   

    var str1="北京abccc北京abc,fdsaf北京" ;
    var str2 = str1.replace(/(北京)/g,"<font style='background-color:#ffff00'>$1</font>");
      

  12.   

    那要查找CSDN,
    var tmep = "CSDN|CSDn|csdn|CsdN";//等那不是一堆排列?是这样吗?
      

  13.   


    <!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>