JavaScript(js)的replace问题的解决
2015-06-10 17:10
555 查看
我是前端的门外汉,js我用得比较少。今天意外发现js自带的replace “居然”只替换1处,而其它的许多许多语言都是替换全部的。
你可能会说,切,我早就知道。高手请绕道。
你可能会说,用js的正则就可以解决这个问题。对,没错,但敝人有“不轻易使用正则”的癖好。
于是想出一个办法,既然js你只帮我做一次,我就循环让你做多次,代码别人都写好了:
好高兴,找到了解决办法。但是贴这段代码的上面写着“我觉得不靠谱”,下面又举了一个例子: ReplaceAll(a, 'b', 'bc') 会死循环。我汗!不用运行我都能知道这样传肯定会死循环。失望。后来,我自己想了一个办法:
贴上来供各位高手看看这种办法是否有缺陷。
我就当作是写备忘录。
你可能会说,切,我早就知道。高手请绕道。
你可能会说,用js的正则就可以解决这个问题。对,没错,但敝人有“不轻易使用正则”的癖好。
于是想出一个办法,既然js你只帮我做一次,我就循环让你做多次,代码别人都写好了:
function ReplaceAll(str, sptr, sptr1){ while (str.indexOf(sptr) >= 0){ str = str.replace(sptr, sptr1); } return str; }
好高兴,找到了解决办法。但是贴这段代码的上面写着“我觉得不靠谱”,下面又举了一个例子: ReplaceAll(a, 'b', 'bc') 会死循环。我汗!不用运行我都能知道这样传肯定会死循环。失望。后来,我自己想了一个办法:
function replaceAll(str, sptr, sptr1) { var ps = str.split(sptr); var s2 = ps.join(sptr1); return s2; }
贴上来供各位高手看看这种办法是否有缺陷。
我就当作是写备忘录。
相关文章推荐
- js 闭包 详解
- Extjs3.3. 中用 Echarts
- JS 操作 radio input(cc问卷管理)
- js手机对应的多级导航分享
- javascript高级程序设计---第二、三章
- Js作用域链及变量作用域
- json解析
- js页面list相关
- js异步收集
- js判断是否在iframe中;解决F5刷新浏览器时,iframe都会变成默认页面,而不是当前页面
- 也谈分离JavaScript和HTML
- C#解析json文件的方法
- J2EE总结(2)——Servlet/JSP
- Javascript 中的 && 和 || 使用小结
- ExtJS(6)- 用Sencha Cmd构建打包Ext项目
- js浮点数精度问题
- JSONP -- 认识JSONP
- jsp显示html字符
- jsp显示html字符
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]