• 写一个function,清除字符串前后的空格



    2016-03-13 22:11 1657人阅读 评论(0) 收藏 举报
    分类:
    前端开发(18) js(1)

    写一个function,清除字符串前后的空格

    第一种:循环替换

    //供使用者调用  
    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;  
    }     

    第二种:正则替换

    <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>

    //去左空格;
    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, "");
    }

    第三种:使用jquery

    $().trim();

    jquery的内部实现为:

    function trim(str){   
        return str.replace(/^(s|u00A0)+/,'').replace(/(s|u00A0)+$/,'');   
    }

    第四种:使用motools

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

    第五种:剪裁字符串方式

    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;   
    }  

    //----------------------------------------------------------
    //     去掉字符串前后的空格
    //    返回值:
    //    去除空格后的字符串
    //----------------------------------------------------------
    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;
            }
        }
    }


    转自:http://www.cnblogs.com/mingforyou/p/3930638.html

    每个程序员,都是艺术家.
  • 相关阅读:
    【每日算法】C语言8大经典排序算法(2)
    C++虚函数与纯虚函数的区别
    C++ 运算符优先级列表
    【每日算法】C语言8大经典排序算法(1)
    C++中的友元函数和友元类
    二叉树前序、中序、后序遍历相互求法
    【转】运算符重载的例析
    从一个二级题来看成员函数重载运算符和友元函数重载运算符
    测试用例管理之 TestLink
    【转】关于LoadRunner的迭代
  • 原文地址:https://www.cnblogs.com/moriah/p/6502090.html
Copyright © 2020-2023  润新知