js前后去空格循环版和递归版

//前后去空格循环版
    var trimLeft = function(str){
        if (str==null||str=='') return '';
        var first_unblank = 0;
        for(var x=0;x <str.length;x++){
            var curr_char = str.charAt(x);
            if(curr_char==" " ||curr_char=="\t" ) first_unblank++;
            else break;
        }
        return str.substring(first_unblank, str.length - first_unblank);
    }
    var trimRight = function(str){
        if (str==null||str=='') return '';
        var last_unblank = 0;
        for(var x=str.length-1;x>=0;x--){
            var curr_char = str.charAt(x);
            if(curr_char==" " ||curr_char=="\t" ) last_unblank++;
            else break;
        }
        return str.substring(0, str.length - last_unblank);
    }
    var trim = function(str){
        return trimRight(trimLeft(str));
    }
    //前后去空格递归版
    var strTrimLeft = function(str){
        if (str==null||str=='') return '';
        var newStr = "";
        var currStr = str.charAt(0);
        if (currStr == " " || currStr == "\t"){
            newStr = str.substring(1, str.length-1);
            str = strTrimLeft(newStr);
        }
        return str;
    }
    var strTrimRight = function(str){
        if (str==null||str=='') return '';
        var newStr = "";
        var currStr = str.charAt(str.length - 1);
        if (currStr == " " || currStr == "\t"){
            newStr = str.substring(0, str.length-1);
            str = strTrimRight(newStr);
        }
        return str;
    }
    var trimStr = function(str){
        return strTrimRight(strTrimLeft(str));
    }


你可能感兴趣的:(js,空格,去掉)