JS中如何去掉字符串的首尾空格,可能会不止一个格

JavaScript019

JS中如何去掉字符串的首尾空格,可能会不止一个格,第1张

ES5 及更高版本直接用 String 对象自带的 trim() 方法就可以了。

var str = '  hello world  '

console.log(str.trim())

再低版本的需要先自行引入 polyfill:

if (!String.prototype.trim) {

  String.prototype.trim = function () {

    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')   

  }

}

可以使用JavaScript的正则表达式进行替换,调用如下自定义函数即可。

function func(str){

    return str.replace(/[\r\n]/g, '')

}

其中\r\n都是换行符,这是经过转义后的表示方式,即在str字符串本身并看不到有\r\n,只是换了一行而已,它们是不可见字符。

关于去掉两头空格,jquery库提供了$.trim()方法,可是JS呢,我写了.trim(),在FF里有效果,但在IE里就没效了,群里的朋友说,如果浏览器实现了trim(),就有,如果浏览器没实现,只能用正则替换。

function trimStr(str){return str.replace(/(^\s*)|(\s*$)/g,"")}

用的时候就是直接

var 变量=trimStr(需要去空格的字符串)