JavaScript去除字符串空格的三种常用方法
本文介绍了JavaScript中去除字符串空格的三种主要方式。第一种是利用正则表达式replace进行灵活匹配,可清除全部、首部或尾部空格;第二种是原生字符串的trim()及其变体,仅处理两端空格;第三种为jQuery库提供的$.trim()函数。文章通过具体代码示例对比了各方法的适用场景与局限性,帮助开发者根据需求选择最优方案。
在JavaScript开发中,处理字符串时经常需要清理其中的空白字符。以下是实现这一目标的三种常见技术手段。
第一种方案:基于正则表达式的替换
若要清除字符串中所有的空白字符,可以使用全局匹配的正则: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//输出左侧有空格右侧无空格第二种方案:使用原生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();第三种方案:使用jQuery的$.trim()方法
jQuery库提供的$.trim()函数专门用于移除字符串两端的空白字符。
需要注意的是,$.trim()函数会移除字符串开始和结束位置的所有换行符、空格(包括连续空格)以及制表符。如果空白字符位于字符串中间,它们将被保留,不会被移除。
具体代码实现如下所示:
var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//输出左右侧均无空格方案一:最常用方式,彻底清除所有空格
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;
}总结
至此,关于使用JavaScript去除字符串内空格的三种方法介绍完毕。如需了解更多相关内容,建议查阅本站历史文章或继续阅读后续教程。感谢大家的支持!
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
为什么JS中typeof []返回object:数组类型检测误区解析
2026-11-04 19:50:47
