第一次发现JavaScript中replace()方法如果直接用str.replace("-","!")只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
Thereplace()methodreturnsthestringthatresultswhenyoureplacetextmatchingitsfirstargument
(aregularexpression)withthetextofthesecondargument(astring).
Iftheg(global)flagisnotsetintheregularexpressiondeclaration,thismethodreplacesonlythefirst
occurrenceofthepattern.Forexample,
vars="Hello.Regexpsarefun.";s=s.replace(/\./,"!");//replacefirstperiodwithanexclamationpointalert(s);
producesthestring“Hello!Regexpsarefun.”Includingthegflagwillcausetheinterpreterto
performaglobalreplace,findingandreplacingeverymatchingsubstring.Forexample,
vars="Hello.Regexpsarefun.";s=s.replace(/\./g,"!");//replaceallperiodswithexclamationpointsalert(s);
yieldsthisresult:“Hello!Regexpsarefun!”
所以可以用以下几种方式.:
string.replace(/reallyDo/g,replaceWith);
string.replace(newRegExp(reallyDo,'g'),replaceWith);
string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。
-
<scripttype="text/javascript">
-
String.prototype.replaceAll=function(reallyDo,replaceWith,ignoreCase){
-
if(!RegExp.prototype.isPrototypeOf(reallyDo)){
-
returnthis.replace(newRegExp(reallyDo,(ignoreCase?"gi":"g")),replaceWith);
-
}else{
-
returnthis.replace(reallyDo,replaceWith);
-
}
-
}
-
</script>
原文 :http://fuleonardo.iteye.com/blog/339749
分享到:
相关推荐
本文是对JS中实现replaceAll的方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
JS 没有提供replaceAll这样的方法。使用正则表可以达成Replace 的效果,感兴趣的朋友看看下面的示例
JavaScript 中使用 replace 达到 replaceAll的效果,其实就用利用的正则的全局替换。
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
主要介绍了JavaScript实现的字符串replaceAll函数代码分享,本文直接给出实现代码,需要的朋友可以参考下
有个静态页面 <span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span> 能否通过js实现,IE浏览时的代码被替换为 </></></></> 无...
如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包实现了接口。 它在ES3支持的环境中工作,并符合。 最常见的用法: const assert = require ( '...
当前,最常见的实现方法是使用全局正则表达式。 const queryString = 'q=query+string+parameters' ; const withSpaces = queryString . replace ( / \+ / g , ' ' ) ; 这种方法的缺点是要求转义特殊的RegExp字符...
目的是要实现一个非常快速的字符串替换功能,而不会出现基于RegExp的String.replace() 。 解决此问题的常用方法是不查找要查找的内容和要替换的内容,因为两者都处理特殊字符。 这种解决方案称为replaceAll()。 ...
解决办法如下: 1.用ASCII码替换百分号和与符号 var remark = $("#remark").val(); remark.replaceAll("ASCII69","%").replaceAll("ASCII70","&");...//对以下在 URI 中具有特殊含义的 ASCII 标点符号,encode
要么无法忽略大小写 在海浪有帮助下,终于有了最佳实现方式:) 最佳实现方式: 代码如下:[removed] String.prototype.replaceAll = stringReplaceAll; function stringReplaceAll(AFindText,ARepT
如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。 当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的...
JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------...