[原创]自己写的一个Javascript仿Asp.Net的Trim字符串函数

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

原文地址:https://www.cnblogs.com/w3live/p/1987576.html