为什么我的修剪功能不起作用?

时间:2015-03-26 00:40:06

标签: javascript trim

我应该为我的javascript类创建一个trim函数。我以为我把一切都搞定了,但出于某种原因,它不会起作用。有人可以检查我的代码,看看我错过了什么或如何使它工作?

window.onload=function()
{
    window.alert(trim("           test")); 
};

function trim(data)
{
    var result;
    var whitespace;
    var start;
    whitespace="\n\r\t\f";
    start=0;

 if(typeof data === "string")
    {

    while(start<data.length, data.charAt(start)===whitespace)
    {
        start=start+1;
    }                      //end loop scope

    var end;
    end=data.length-1;

    while(end>=0, data.charAt(end)===whitespace)
    {
        end=end-1;
    }                      //end loop scope

    if(end<start)
    {
        result="";
    }

    else

    {
        result=data.substring(start, end+1);
    }
}

else             //else for first if statement

{
    return result;
}

return result;
}

2 个答案:

答案 0 :(得分:0)

您应该使用\s来匹配空格。我也简化了你的功能。

&#13;
&#13;
function trim(data) {
  
  if(typeof data === "string") {
    return data.replace(/(^[\s\r\n\t\f]+|[\s\r\n\t\f]+$)/g, '');
  }
  return data;
}

var result = trim('             test              ');
document.write(result);
document.write('<br>Length of string: '+result.length);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

function trim(string)
{
    return string.trim();
}

: - )