[原创]自己写的一个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");