在 JavaScript 中,字符串的空格往往是令人头痛的问题。在 ES5 中,JavaScript 只提供了 String.prototype.trim()
方法,可以去除字符串前后的空格,但并不能解决字符串内部的空格问题。不过,随着 JavaScript 规范的更新,现在有了更简单的方法来解决这个问题:ES9 中新增加的 String.prototype.trimStart()
和 String.prototype.trimEnd()
方法。
String.prototype.trimStart() 方法
String.prototype.trimStart()
方法返回一个字符串,它从当前字符串的开头(从左侧)去除空格字符串。该方法对原字符串没有任何影响,因此它是不可变的。
const str = ' Hello World '; console.log(str.trimStart()); // 'Hello World '
String.prototype.trimEnd() 方法
String.prototype.trimEnd()
方法返回一个字符串,该字符串从当前字符串的末尾(从右侧)开始去除空格字符串。该方法对原字符串没有任何影响,因此它是不可变的。
const str = ' Hello World '; console.log(str.trimEnd()); // ' Hello World'
案例分析
针对一个常见的应用案例,我们可以通过使用 trimStart()
和 trimEnd()
方法来轻松优化代码。
比如说,我们有一个输入框,用户输入时可能会不小心多输入一些空格,我们想要去掉这些空格再进行下一步操作。可以像下面这样解决:
const input = document.querySelector('#input'); const inputValue = input.value.trim(); // 去除左右空格
有时候我们需要将字符串变成电话号码格式,格式为 (xxx) xxx-xxxx
。同样可以使用这两个方法来实现。
const str = ' 123 456 7890 '; const phoneNumber = `(${str.slice(0, 3)}) ${str.slice(4, 7)}-${str.slice(8)}`.trim(); console.log(phoneNumber); // '(123) 456-7890'
总结
String.prototype.trimStart()
和 String.prototype.trimEnd()
都是很实用的方法,可以帮助我们轻松处理字符串的空格问题。使用这两个方法之前,我们需要小心判断是否需要支持旧的浏览器版本。在考虑支持度的时候,我们需要确保代码的可读性好,并且能够为后续维护工作节省时间和精力。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658381f4d2f5e1655de64721