zoukankan      html  css  js  c++  java
  • [原创]自己写的一个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");

  • 相关阅读:
    golang的string是包使用
    OTHER状态的mongodb副本集成员转换为独立的新副本集primary
    linux命令行快捷键
    如何配置vcodes成最美观的样子,让你从此爱上代码
    记一次Lock wait timeout异常的排查过程
    mysql变更上线流程
    go build 使用
    Makefile文件
    解决 windows10系统和AOC显示器时不时地闪现黑屏问题
    feign调用添加header参数
  • 原文地址:https://www.cnblogs.com/w3live/p/1987576.html
Copyright © 2011-2022 走看看