从字符串的两端删除空格

时间:2017-04-05 02:08:20

标签: javascript function

function lefttrim(str)
{
    function NotWhitespace(ch)
    {
        return ch != '\n' && ch != '\t' && ch != '\r' && ch != ' ' && ch != '';
    }
    var stopAt = str.length;
    for (;stopAt >= 0; --stopAt)
        if (NotWhitespace(str.charAt(stopAt)))
            break;


    var output = '';
    for (var i = 0; i >= stopAt; i++)
        output += str.charAt(i);
    return output;
}

这当前删除了字符串右侧的空白,但我试图让它从字符串的左侧和右侧删除空格。我不允许在这个特定的练习中使用任何内置函数。

1 个答案:

答案 0 :(得分:0)

您可以使用此功能

function cust_trim(str){
    String.prototype.IsWhiteSpace = function(){
        return this == '\n' || this == '\t' || this == '\r' || this == ' ' || this == '';
    }

    var i = 0;
    var j = str.length - 1;
    while(str.charAt(i).IsWhiteSpace() && i <= j) i++;

    if(i > j) return "";    // all white spaces

    while(str.charAt(j).IsWhiteSpace() && j >= 0) j--;

    var output = '';
    while( i <= j)
        output += str.charAt(i++);
    return output;
}