• js 去掉字符串前后空格5种方法


    第一种:循环检查替换

    //供使用者调用  
    function trim(s){  
        return trimRight(trimLeft(s));  
    }  
    //去掉左边的空白  
    function trimLeft(s){  
        if(s == null) {  
            return "";  
        }  
        var whitespace = new String(" 	
    
    ");  
        var str = new String(s);  
        if (whitespace.indexOf(str.charAt(0)) != -1) {  
            var j=0, i = str.length;  
            while (j < i && whitespace.indexOf(str.charAt(j)) != -1){  
                j++;  
            }  
            str = str.substring(j, i);  
        }  
        return str;  
    }  
    
    //去掉右边的空白 www.2cto.com   
    function trimRight(s){  
        if(s == null) return "";  
        var whitespace = new String(" 	
    
    ");  
        var str = new String(s);  
        if (whitespace.indexOf(str.charAt(str.length-1)) != -1){  
            var i = str.length - 1;  
            while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){  
               i--;  
            }  
            str = str.substring(0, i+1);  
        }  
        return str;  
    }
    View Code

    第二种:正则替换

    <SCRIPT LANGUAGE="JavaScript">  
    <!--  
    String.prototype.Trim = function()  
    {  
    return this.replace(/(^s*)|(s*$)/g, "");  
    }  
    String.prototype.LTrim = function()  
    {  
    return this.replace(/(^s*)/g, "");  
    }  
    String.prototype.RTrim = function()  
    {  
    return this.replace(/(s*$)/g, "");  
    }  
    //-->  
    </SCRIPT>
    View Code
    //去左空格;
    function ltrim(s){
        return s.replace(/(^s*)/g, "");
    }
    //去右空格;
    function rtrim(s){
        return s.replace(/(s*$)/g, "");
    }
    //去左右空格;
    function trim(s){
        return s.replace(/(^s*)|(s*$)/g, "");
    }
    View Code

    第三种:使用jquery

    $.trim(str) 
    
    jquery内部实现为:
    
    function trim(str){   
        return str.replace(/^(s|u00A0)+/,'').replace(/(s|u00A0)+$/,'');   
    }
    View Code

    第四种:使用motools

    function trim(str){   
        return str.replace(/^(s|xA0)+|(s|xA0)+$/g, '');   
    }  
    View Code

    第五种:裁剪字符串方式

    function trim(str){   
        str = str.replace(/^(s|u00A0)+/,'');   
        for(var i=str.length-1; i>=0; i--){   
            if(/S/.test(str.charAt(i))){   
                str = str.substring(0, i+1);   
                break;   
            }   
        }   
        return str;   
    }  
    View Code
    //----------------------------------------------------------
    //     去掉字符串前后的空格
    //    返回值:
    //    去除空格后的字符串
    //----------------------------------------------------------
    function trim(param) {
        if ((vRet = param) == '') { return vRet; }
        while (true) {
            if (vRet.indexOf (' ') == 0) {
                vRet = vRet.substring(1, parseInt(vRet.length));
            } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf (' ') == parseInt(vRet.length) - 1)) {
                vRet = vRet.substring(0, parseInt(vRet.length) - 1);
            } else {
                return vRet;
            }
        }
    }
    View Code

    第五种在处理长字符串时效率高

  • 相关阅读:
    CCPC长春赛重现
    2016弱校联盟十一专场10.3,BNU52308,大模拟
    2016弱校联盟十一专场10.3,BNU52308,大模拟
    UVA12264 二分最大流,注意pdf的样例是错的
    UVA12264 二分最大流,注意pdf的样例是错的
    UVA1658海军上将,拆点费用流
    UVA1658海军上将,拆点费用流
    angular报错:Please add a @Pipe/@Directive/@Component annotation
    angular 自定义验证器
    ionic 学习笔记
  • 原文地址:https://www.cnblogs.com/love201314/p/5102714.html
Copyright © 2020-2023  润新知