使用js去除字符串内所带有空格,有以下三种方法:
( 1 ) replace正则匹配方法
去除字符串内所有的空格:str = str.replace(/\s*/g,“”);
去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,“”);
去除字符串内左侧的空格:str = str.replace(/^\s*/,“”);
去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,“”);
示例:
var str = " 6 6 ";
var str_1 = str.replace(/\s*/g,"");
console.log(str_1); //66
var str = " 6 6 ";
var str_1 = str.replace(/^\s*|\s*$/g,"");
console.log(str_1); //6 6//输出左右侧均无空格
var str = " 6 6 ";
var str_1 = str.replace(/^\s*/,"");
console.log(str_1); //6 6 //输出右侧有空格左侧无空格
var str = " 6 6 ";
var str_1 = str.replace(/(\s*$)/g,"");
console.log(str_1); // 6 6//输出左侧有空格右侧无空格
( 2 ) str.trim()方法
trim()方法是用来删除字符串两端的空白字符并返回,trim方法并不影响原来的字符串本身,它返回的是一个新的字符串。
另外的,单独去除左侧空格可以使用trimLeft()方法,单独去除右侧空格则可以使用trimRight()方法。
缺陷:只能去除字符串两端的空格,不能去除中间的空格
示例:
var str = " 6 6 ";
var str_1 = str.trim();
console.log(str_1); //6 6//输出左右侧均无空格
单独去除左侧空格则使用 str.trimLeft(); //var str_1 = str.trimLeft();
单独去除右侧空格则使用 str.trimRight();//var str_1 = str.trimRight();
( 3 ) JQ方法:$.trim(str)方法
$.trim() 函数用于去除字符串两端的空白字符。
注意:$.trim()函数会移除字符串开始和末尾处的所有换行符,空格(包括连续的空格)和制表符。如果这些空白字符在字符串中间时,它们将被保留,不会被移除
。
示例:
var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//输出左右侧均无空格
方法1:(最常用)全部去除掉空格
var str = ' abc d e f g ';
function trim(str) {
var reg = /[\t\r\f\n\s]*/g;
if (typeof str === 'string') {
var trimStr = str.replace(reg,'');
}
console.log(trimStr)
}
trim(str)
方法二:(强烈推荐)全部去除
function trimAll(ele){
if(typeof ele === 'string'){
return ele.split(/[\t\r\f\n\s]*/g).join('');
}else{
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
}
}
trimAll(str) // 1234456
方法三:指定位置清楚空格(第二个参数控制位置)
function deleSpac(str,direction) { // 1 串的模板 2 清除哪边空格
if(typeof str !== 'string'){ // 限制下条件,必须是字符串
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
return false
}
let Reg = '';
switch(direction) {
case 'left' : // 去除左边
Reg = /^[\t\r\f\n\s]+/g;
break;
case 'right' : // 去除右边
Reg = /([\t\r\f\n\s]+)$/g;
break;
case 'both' : // 去除两边
Reg = /(^[\t\r\f\n\s]*)|([\t\r\f\n\s]*$)/g
break;
default : // 没传默认全部,且为下去除中间空格做铺垫
Reg = /[\t\r\f\n\s]*/g;
break;
}
let newStr = str.replace(Reg,'');
if ( direction == 'middle' ){
let RegLeft = str.match(/(^[\t\r\f\n\s]*)/g)[0]; // 保存右边空格
let RegRight = str.match(/([\t\r\f\n\s]*$)/g)[0]; // 保存左边空格
newStr = RegLeft + newStr + RegRight; // 将空格加给清完全部空格后的字符串
}
return newStr;
}