通常的写法:
推荐的写法:
function trim1(str) {
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function trim2(str) {
return str.replace(/^\s+/, '').replace(/\s+$/, '');
}
function trim3(str) {
return str.replace(/^\s+|\s+$/g, '');
}
推荐的写法:
function trim4(str) {
str = str.replace(/^\s+/, '');
for (var i = str.length - 1; i >= 0; i--) {
if (/\S/.test(str.charAt(i))) {
str = str.substring(0, i + 1);
break;
}
}
return str;
}
function trim5(s) {
var whitespace = ' \n\r\t\v\f\u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b';
whitespace += '\u2028\u2029\u3000';
var i = 0, j = s.length - 1;
while (i < s.length && whitespace.indexOf(s.charAt(i)) != -1) i++;
while (j > i && whitespace.indexOf(s.charAt(j)) != -1) j--;
return s.substring(i, j + 1);
}
//速度最快的写法
function trim6(str) {
var start = -1;
var end = str.length;
while (str.charCodeAt(--end) < 33);
while (str.charCodeAt(++start) < 33);
return str.slice(start, end + 1);
};
本文介绍了JavaScript中去除字符串两端空白字符的多种实现方式,并对比了不同方法的特点与性能。包括使用正则表达式的方法以及循环遍历的方式。
1239

被折叠的 条评论
为什么被折叠?



