正则表达式 - javascript实现repalceAll
高洛峰
高洛峰 2017-04-11 12:55:40
[JavaScript讨论组]

a = "testtesttest http://baidu.com,http://baidu.com,test"
rgx=/()?((((http|ftp|https)://)|(www.))+[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#][w-@?^=%&/~+#])?)('?>?.*)?([/]|[W])/gi;

a.replace(rgx, "~hh~")

想要的效果是是"testtesttest ~hh~,~hh~,test"
实际上只替换掉了第一个,如何实现全部替换呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
迷茫

String.prototype.replaceAll = function (reallyDo, replaceWith, ignoreCase) {

if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
    return this.replace(new RegExp(reallyDo , (ignoreCase ? "gi" : "g")), replaceWith);
} else {
    return this.replace(reallyDo, replaceWith);
}

};


// eg:
var a = "aaabbbbaaabbcccbdddd";
// 把所有的"a"替换为"v"
a = a.replaceAll("a","v");

大家讲道理

'哈哈哈-sss-fdf-蛤蛤蛤'.replace(/-/g,"")

怪我咯
String.prototype.replaceAll = function(s1, s2){
    return this.replace(new RegExp(s1, 'gm'),s2);
};
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号