宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

平常在使用表单时,需要删除字符串开头和结尾的空白字符,本篇将介绍什么是 JavaScript 中的空格和行终止符。另外,您将了解如何从字符串的开头或结尾删除空格和行终止符。

1. 空格和行终止符

在深入研究实际的 trim 函数之前,首先让我们了解 trim 函数从字符串中删除那些特殊字符。

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

  • 空格符 SPACE(U+0020 codepoint)
  • 字符列表 CHARACTER TABULATION(U+0009 codepoint)
  • 行制表符 LINE TABULATION(U+000BU codepoint)
  • 换页符 FORM FEED(FF)(U+000C codepoint)
  • 不换行空格 NO-BREAK SPACE(U+00A0 codepoint)
  • 零宽度非换行空格 ZERO WIDTH NO-BREAK SPACE(U+FEFFU codepoint)
  • 空格分隔符类别中的任何其他字符

代码点(Code Point):Unicode是属于编码字符集(CCS)的范围。Unicode所做的事情就是将我们需要表示的字符表中的每个字符映射成一个数字,这个数字被称为相应字符的码点(code point)。例如“严”字在Unicode中对应的码点是U+0x4E25。

代码点是字符集被编码后出现的概念。字符集(Code Set)是一个集合,集合中的元素就是字符,比如ASCII字符集,其中的字符就是’A’、’B’等字符。为了在计算机中处理字符集,必须把字符集数字化,就是给字符集中的每一个字符一个编号,计算机程序中要用字符,直接用这个编号就可以了。于是就出现了编码后的字符集,叫做编码字符集(Coded Code Set)。编码字符集中每一个字符都和一个编号对应。那么这个编号就是代码点(Code Point)。

简单来说,空格是在屏幕上呈现的字符,会创建一个空白区域。常见的空白字符是空格’ ‘和制表符’\t’。其次,行终止符也是一组特殊的字符,包括:

  • 换行 LINE FEED(U+000A code point)
  • 回车 CARRIAGE RETURN(U+000D code point)
  • 行分隔符 LINE SEPARATOR(U+2028 code point)
  • 段落分隔符 PARAGRAPH SEPARATOR(U+2029 code point)

行终止符表示存在于文本行末尾并具有某些特殊用途的字符。一个常见的行终止符是换行符’\n’,这意味着向前移动一行。

2. 在 JavaScript 中trim字符串

有些情况下,您希望清除从应用程序中输入的字符串。例如,您希望从表示用户名、名、姓、电话号码等的表单字段中删除空白字符串。

javaScript提供了3个关于如何删除空白字符的简单函数。

2.1 string.trim()

string.trim()从字符串的开头和结尾删除空格和行终止符序列。

让我们看几个例子:

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 函数从字符串序列的两端删除连续的空格和行终止符。如果在两个字母之间有一个空格,是会保留这个空格的:

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

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

2.2 string.trimStart()

string.trimStart() 仅从字符串的开头删除空格序列和行终止符。

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

name.trimStart() 仅从字符串的开头删除空格,并且不触及结尾的空格。’ Jane ‘ 变成 ‘Jane ‘。

phoneNumber.trimStart() 仅从开头删除空格和行终端的序列。’\t 555-123 \n’ 变成 ‘555-123 \n’。

2.3 string.trimEnd()

string.trimEnd()仅从字符串末尾删除空格序列和行终止符。

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

name.trimEnd() 从末尾删除一个空格,并且不触及前导部分。’ Jim ‘ 变成 ‘ Jim’。

phoneNumber.trimEnd() 修剪字符串的结尾。’\t 555-123\n ‘ 变成 ‘\t 555-123’。

三、结论

与空格或制表符一样,空白字符是在呈现时创建的空白空间的特殊字符。 此外,像换行符,你可以在多行字符串的行尾找到。

通常,您会发现从字符串中删除这些特殊字符很有用,JavaScript trim 函数可以帮助你。

string.trim()从字符串的开头和结尾删除空格和行终止符序列,string.trimStart() 从开头删除它们,string.trimEnd()从结尾删除它们。