使用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]*$)/gbreak;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;}