[原创]自己写的一个Javascript仿Asp.Net的Trim字符串函数
网上看到很多Javascript,trim函数的实现,很实用。但是只能删除两边的空格,不能删除两边的字符,且多个字符。也没怎么仔细找,就自己写了一个,希望对自己以后工作有用。也希望大家指点修正。谢谢!
应该还会有些BUG,再慢慢修正了...
String.prototype.trim = function() {
//将字符串中出现的元字符进行转义
var eleContains = function(arg) {
var elestr = "$(*+.[?\^{|";
if (arg.length == 1) { //删除一个字符
if (elestr.indexOf(arg) > -1)
arg = "\\" + arg;
else if (arg == " ")
arg = "\\s";
}
else if (arg.length > 1) { //删除多个字符
var elearray = elestr.split("");
for (var i = 0; i < elearray.length; i++) {
if (arg.indexOf(elearray[i]) > -1)
arg = arg.replace(eval("/\\" + elearray[i] + "/g"), "\\" + elearray[i]);
else if (arg.indexOf(" ") > -1)
arg = arg.replace(" ", "\\s");
}
}
return arg;
};
if (arguments.length > 0) {
var rstr = this;
var arg = "";
for (var i = 0; i < arguments.length; i++) {
arg = arguments[i];
//将字符串中出现的元字符进行转义
arg = eleContains(arg);
//正则删除前后匹配的字符
rstr = rstr.replace(eval("/(^" + arg + "*)|(" + arg + "*$)/g"), "");
}
return rstr;
}
else
return this.replace(/(^\s*)|(\s*$)/g, "");
};
调用:
var str = "$ +aaaaaaaaaaaa$ +";
alert("bbb" + str + "bbb");
str = str.trim("$ +");
alert("bbb" + str + "bbb");
浙公网安备 33010602011771号