·您当前的位置:首页 > 技术教程 > JavaScript >

[JS]replace用法与正则结合代码

时间:2014-06-27 09:44wayne23
[JS]replace用法与正则结合代码

replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串 (string),replaceText是替代查找到的字符串。。为了帮助大家更好的理解,下面举个简单例子说明一下

  1. <script language="javascript"> 
  2.  
  3. var stringObj="终古人民共和国,终古人民"
  4.  
  5. //替换错别字“终古”为“中国” 
  6.  
  7. //并返回替换后的新字符 
  8.  
  9. //原字符串stringObj的值没有改变 
  10.  
  11. var newstr=stringObj.replace("终古","中国");  
  12.  
  13. alert(newstr); 
  14.  
  15. </script>  
  16. 比我聪明的你,看完上面的例子之后,会发现第二个错别字“终古”并没有被替换成“中国”,我们可以执行二次replace方法把第二个错别字“终古”也替换掉,程序经过改进之后如下: 

 

  1. <pre class="jscript" name="code"><script language="javascript">   
  2.    
  3. var stringObj="终古人民共和国,终古人民";   
  4.    
  5. //替换错别字“终古”为“中国”   
  6.    
  7. //并返回替换后的新字符   
  8.    
  9. //原字符串stringObj的值没有改变   
  10.    
  11. var newstr=stringObj.replace("终古","中国");    
  12.    
  13. newstrnewstr=newstr.replace("终古","中国");    
  14.    
  15. alert(newstr);   
  16.    
  17. </script>    
  18.    
  19. </pre>   

我们可以仔细的想一下,如果有N的N次方个错别字,是不是也要执行N的N次方replace方法来替换掉错别字呢??呵,不用怕,有了正则表达式之后不用一个错别字要执行一次replace方法。。程序经过改进之后的代码如下 

  1. <pre class="jscript" name="code"><script language="javascript">   
  2.    
  3. var reg=new RegExp("终古","g"); //创建正则RegExp对象   
  4.    
  5. var stringObj="终古人民共和国,终古人民";   
  6.    
  7. var newstr=stringObj.replace(reg,"中国");    
  8.    
  9. alert(newstr);   
  10.    
  11. </script>    
  12.    
  13. </pre>   

上面讲的是replace方法最简单的应用,不知道大家有没有看懂??下面开始讲稍微复杂一点的应用。。 大家在一些网站上搜索文章的时候,会发现这么一个现象,就是搜索的关键字会高亮改变颜色显示出来??这是怎么实现的呢??其实我们可以用正则表达式来实现,具体怎么样实现呢?简单的原理请看下面的代码

  1. <pre class="jscript" name="code"><script language="javascript">   
  2.    
  3. var str="中华人民共和国,中华人民共和国";   
  4.    
  5. var newstr=str.replace(/(人)/g,"<font color=red>$1</font>");   
  6.    
  7. document.write(newstr);   
  8.    
  9. </script>    
  10.    
  11. </pre>   

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器