利用正则去除字符串前后空格的方法:

function​ trim(strToTrim){

    ​return​ strToTrim.replace(/^\s+|\s+$/g,"")

}


function​ ltrim(strToTrim){

    ​return​ strToTrim.replace(/^\s+/,"");

}


function​ rtrim(strToTrim){

    ​return​ strToTrim.replace(/\s+$/,"");

}


我们可以把这些添加为String对象的子方法:

String.prototype.trim = ​function​(){

    ​returnthis​.replace(/^s+|\s$/g,"");

}


String.prototype.ltrim = ​function​(){

    ​returnthis​.replace(/^s+/,"");

}


String.prototype.rtrim = ​function​(){

    ​returnthis​.replace(/\s+$/,"");

}


上面这种方法支持JavaScript1.2+以及Jscript3.0+,对于目前大多数的浏览器(4.0+)都可以支持,如果你需要支持更老的浏览器,可以使用下面这个例子,这能够去掉空格、空行、TAB、回车以及换页。

var​ trim4old = {

    ltrim:​function​(strToTrim){

        ​for​(​var​ k=0; k < strToTrim.length && ​this​.isWhiteSpace(strToTrim.charAt(k));k++);

        ​return​ strToTrim.substring(k,strToTrim.length);

    },

    rtrim:​function​(strTomTrim){

        ​for​(​var​ j = strTomTrim.length - 1;j>=0 && ​this​.isWhiteSpace(strTomTrim.charAt(j));j--);

        ​return​ strTomTrim.substring(0,j+1);

    },

    trim:​function​(strToTrim){

        ​returnthis​.rtrim(​this​.ltrim(strToTrim));

    },

    isWhiteSpace:​function​(strTomTrim){

        ​var​ whitespaceChars = "\t\n\r\f";

        ​return​ (whitespaceChars.indexOf(strTomTrim) != -1);

    }

}