Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除字符串两端的空白_Javascript_Function - Fatal编程技术网

Javascript 删除字符串两端的空白

Javascript 删除字符串两端的空白,javascript,function,Javascript,Function,这将删除字符串右侧的空白,但我正试图让它同时删除字符串左侧和右侧的空白。我不允许在这个特殊的练习中使用任何内置函数 您可以使用此功能 function lefttrim(str) { function NotWhitespace(ch) { return ch != '\n' && ch != '\t' && ch != '\r' && ch != ' ' && ch != ''; }

这将删除字符串右侧的空白,但我正试图让它同时删除字符串左侧和右侧的空白。我不允许在这个特殊的练习中使用任何内置函数

您可以使用此功能

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

那么,您是否会在stopAt开始第二个循环并连接字符,直到用完字符?您可能需要另一个循环来查找最后一个非空白字符;i>=停车;我++你可能是说不允许我使用任何内置函数。-那你最好把str.charAti改成str[i]@没有内置函数你怎么使用正则表达式?对我来说,内置函数是,但OP可以说明这一点。
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;
}