解析Javascript中replace()方法使用
创始人
2024-07-15 13:10:57
0

你知道Javascript中replace()方法的使用吗,这里向大家描述一下,相信本文介绍一定会让你有所收获。

Javascript中replace()方法

在javascript中,String的函数replace()简直太让人喜爱了。它灵活而强大的字符替换处理能力,让我不禁想向大家介绍它。

  replace()最简单的算是能力就是简单的字符替换。示例代码如下:

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. //在此我想将字母a替换成字母A  
  4. alert(strM.replace("a","A"));  
  5.  

  我想大家运行后可以看到结果,它只替换了首字母。但如果加上正则表达式结果就不一样了!呵呵,没错。replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换!

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. //在此我想将字母a替换成字母A  
  4. alert(strM.replace(/a/,"A"));  
  5.  

  这样还是只替换了***个字母a。如果您熟悉正则,那这就难不住您。稍加修改就OK了。

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. //在此将字母a全部替换成字母A  
  4. alert(strM.replace(/a/g,"A"));  
  5.  

  还可以这样,看看效果!

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. alert(strM.replace(/(javascript)s*(is)/g,"$1$2fun.it$2"));  
  4.  

  我这儿举的例子都是很简单的应用,replace()在此点上与您使用正则表达式的能力成正比。您正则表达式越强,呵呵,那您就会越疯狂的爱上它。

  当然,我这儿推荐replace()的原因并不因为它能与正则表达式合作,而在于它还能与函数进行合作,发挥出强大的功能。

  先看看简单例子:将所有单词首字母换成大写。

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. functionchange(word)  
  4. {  
  5.  returnword.indexOf(0).toUpperCase()+word.substring(1);  
  6. }  
  7. alert(strM.replace(/w+/g,change));  
  8.  

  由上可知,当正则表达式有"g"标志时,代表将处理整个字符串,即函数change的变换将应用于所有匹配的对象。而该函数有三个或更多参数,具体个数视正则表达式而定。

  有了函数与正则表达式的配合,replace()处理字符串的功能***强大起来了!

  ***还举个例子,将字符串所有单词倒序,用replace()处理是如此简单。

  1.  
  2. varstrM="javascriptisagoodscriptlanguage";  
  3. functionchange(word)  
  4. {  
  5.  varresult=word.match(/(w)/g);  
  6. if(result)  
  7. {  
  8.  varstr="";  
  9.  for(vari=result.length-1;i>=0;i--)  
  10.  {  
  11.   str+=result;  
  12.  }  
  13.  returnstr;  
  14. }  
  15. else  
  16. {  
  17.  return"null";  
  18. }  
  19. }  
  20. alert(strM.replace(/(w)+/g,change));  
  21.  

【编辑推荐】

  1. JavaScript对象的定义及创建实例
  2. JavaScript函数的定义及形式参数
  3. C#代码与JavaScript函数的相互调用
  4. JavaScript函数中arguments对象
  5. Javascript中CSS属性float特殊写法

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...