背1,2,5
str.replace(/\ +/g, ""); // 去除 空格
str.replace(/[\r\n]/g, ""); // 去除 换行符
str.trim(); // 去除 前后空格
1.trim
var str = " ab cde "
console.log(" abcde ", "原来", );
console.log(str.trim()); //首尾
2.正则
var str = " ab cde "
var b = str.replace(/(^\s*)|(\s*$)/g, "");
console.log(b, "2");
3.封装为函数
与2正则同
function Atrim(str) {
return (str || "").replace(/^\s+|\s+$/g, "");
}
console.log(Atrim(str));
4.封装函数与slice结合
function Btrim(str) {
var str = str.replace(/^\s\s*/, ''),
ws = /\s/,
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
console.log(Btrim(str));
5.双for循环
let str1 = " ab cde "
function trim1(str1) {
let start = 0
let end = 0
for (let i = 0; i < str1.length; i++) {
if (str1[i] != ' ') {
start = i
break //跳出整个循环,不再继续进行
}
}
for (let i = str1.length - 1; i > 0; i--) {
if (str1[i] != ' ') {
end = i + 1
break
}
}
return str1.slice(start, end)
}
console.log(str1);
console.log(trim1(str1))