原生 JavaScript 去除字符串空白字符

项目开发过程中经常有去除字符串空白字符的需求,最初直接使用jQuery的$.trim(str)方法,其实从ECMAScript5开始,JavaScript标准库里String对象有了一个str.trim()方法,但浏览器兼容性不强。

var str = ' 趁 时 光 正 好 , 出 去 走 走 ';

console.log($.trim(str));
//Result:
//趁 时 光 正 好 , 出 去 走 走

console.log(str.trim());
//Result:
//趁 时 光 正 好 , 出 去 走 走

上述的两个方法仅用于同时去除左右两边的空白字符,但我在实际项目开发中也遇见过去除左边或去除右边或去除所有空白字符的需求。
所以,整理了以下4种方法,在这里MAKE一下。

//  删除所有空白字符
function _nuTrim(str){
    return str.replace(/[\s\uFEFF\xA0]+/g,'')
}

//  删除左边空白字符
function _nuTrimL(str){
    return str.replace(/^[\s\uFEFF\xA0]+/g,'')
}

//  删除右边空白字符
function _nuTrimR(str){
    return str.replace(/[\s\uFEFF\xA0]+$/g,'')
}

//  删除左右空白字符
function _nuTrimLR(str){
    return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,'')
}
var str = ' 趁 时 光 正 好 , 出 去 走 走 ';

console.log(_nuTrim(str));
//Result:
//趁时光正好,出去走走

console.log(_nuTrimL(str));
//Result:
//趁 时 光 正 好 , 出 去 走 走 

console.log(_nuTrimR(str));
//Result:
// 趁 时 光 正 好 , 出 去 走 走

console.log(_nuTrimLR(str));
//Result:
//趁 时 光 正 好 , 出 去 走 走

哦,对!利用这个还可以计算字符串实际长度,如下:

var str = ' 趁 时 光 正 好 , 出 去 走 走 ';

console.log(str.length);
//Result:
//21

console.log(_nuTrim(str).length);
//Result:
//10

是不是很简单就得到字符串的实际长度了,在某些需要限制字数的地方还是挺有用的。
好,就这么多了。
再见!

你可能感兴趣的:(原生 JavaScript 去除字符串空白字符)