宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 个人博客 > javascript

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

2016-10-13 00:16:48 点击量:52 标签: 收藏本文

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>   

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室