如何在JavaScript中修剪字符串

309 阅读3分钟

如何在JavaScript中修剪字符串

在使用表单字段中的字符串值时,一个好的做法是去除字符串开头和结尾的空白,也就是修剪字符串。

在这篇文章中,我将描述什么是空格和JavaScript中的行结束符。

另外,你会读到如何修剪字符串,也就是去除字符串开头和/或结尾的空白和行终结符。

1.留白和行结束符

在深入研究实际的修剪函数之前,让我们首先同意修剪函数要从字符串中去除哪些特殊字符。

首先,空白处是以下列表中的任何字符:

  • 空格(U+0020 代码点)
  • CHARACTER TABULATION(U+0009 代码点)
  • 的分页 (U+000BU 代码点)
  • FORM FEED (FF)(U+000C 代码点)
  • 无破损空间(U+00A0 代码点 )
  • 零宽度的无破损空间(U+FEFFU 代号 )
  • 空间分隔符类别中的任何其他字符

简单地说,留白是指在屏幕上呈现的字符,创造了一个空的白色空间。

常见的空白字符是空格' ' 和制表符'\t'

其次,行结束符也是由一组特殊的字符组成:

  • LINE FEED(U+000A 代码点)
  • CARRIAGE RETURN(U+000D 码位)
  • 行间分隔符(U+2028 码位)
  • 段落分隔符 (U+2029 代码点)

行终结符代表一个存在于文本行末尾的字符,它有一些特殊的用途。

常见的行终结符是换行符'\n' ,它意味着向前移动一行。

2.在JavaScript中修剪字符串

有些情况下,你想清理从应用程序输入的字符串。例如,你肯定想从代表用户名、名字、姓氏、电话号码等的表格字段中修剪字符串。

JavaScript提供了3个关于如何修剪字符串的简单函数。

2.1string.trim()

string.trim() 删除字符串开头和结尾的空白序列和行结束符。

让我们看几个例子。

javascript

const name = '  Kate ';
name.trim(); // => 'Kate'
const phoneNumber = '\t  555-123\n ';
phoneNumber.trim(); // => '555-123'

name.trim() 删除字符串开头和结尾的空格:' Kate '变成 'Kate'

phoneNumber.trim() 也清除了两端的空格: '\t 555-123\n '变成 '555-123'

trim函数从字符串的两端去除连续的白色空格和行终端的序列。但是如果在两个字母之间发现了一个空白,那么当然会保留这个空白。

javascript

const fullName = '  Kate Smith  ';
fullName.trim(); // => 'Kate Smith'

fullName.trim() 删除字符串开头和结尾的空格,但是保留 KateSmith字符之间的空格。

2.2string.trimStart()

string.trimStart() 只从字符串的开始部分删除空格和行结束符的序列。

javascript

const name = '  Jane ';
name.trimStart(); // => 'Jane '
const phoneNumber = '\t  555-123 \n';
phoneNumber.trimStart(); // => '555-123 \n'
Try the demo.

phoneNumber.trimStart() '\t 555-123 \n' 变成 '555-123 \n'

2.3string.trimEnd()

string.trimEnd() 只从字符串的结尾处删除空白处和行结束符的序列。

javascript

const name = '  Jim ';
name.trimEnd(); // => '  Jim'
const phoneNumber = '\t  555-123 \n';
phoneNumber.trimEnd(); // => '\t  555-123'

3.总结

留白,如空格或制表符,是特殊字符,在渲染时产生空隙。

另外,像换行这样的行终端,你可能会在多行字符串的行尾发现。

通常情况下,你会发现从一个字符串中删除这些特殊字符是非常有用的。JavaScript的修剪函数可以帮助你。