【发布时间】:2012-10-27 09:25:02
【问题描述】:
我正在尝试为我的 ajax 聊天系统编写一个小助手类,我正在努力添加我可能需要的基本功能。
var strings = {
filterWords: ["fool", "dumb", "arse"],
removeSpecialChars: function (str) {
return str.replace(/[^\w\s]/gi, '');
},
killSpace: function (str) {
return str.replace(/\s/g, '');
},
reduceSpace: function (str) {
return str.replace(/\s+/g, ' ');
},
allowLetsAndNums: function (str) {
return str.replace(/[^A-Za-z0-9]/g, ' ');
},
allowLets: function (str) {
return str.replace(/[^A-Za-z]/g, ' ');
},
allowNums: function (str) {
return str.replace(/[^0-9]/g, ' ');
},
wordFilter: function (str) {
var rgx = new RegExp(this.filterWords.join("|"), "gi");
return str.replace(rgx, "****");
}
}
我发现我可能需要同时运行多种方法我在问什么最佳实践可以做到这一点而不会导致以下结果?
alert(strings.wordFilter(strings.reduceSpace(strings.allowLets("efgwge @£235%^@£ fool you a dumb arse432345$%^"))));
谢谢
【问题讨论】:
-
创建桥接方法来为你做这件事。
-
尝试拥有一个函数数组,然后遍历每个函数。将上一个结果传递给下一个调用,直到完成。
标签: javascript object methods