平常在使用表单时,需要删除字符串开头和结尾的空白字符,本篇将介绍什么是 JavaScript 中的空格和行终止符。另外,您将了解如何从字符串的开头或结尾删除空格和行终止符。
1. 空格和行终止符
在深入研究实际的 trim 函数之前,首先让我们了解 trim 函数从字符串中删除那些特殊字符。
首先,空白字符可能是以下列表中的任何字符:
空格符 SPACE(U+0020codepoint)字符列表CHARACTER TABULATION(U+0009codepoint)行制表符 LINE TABULATION(U+000BUcodepoint)换页符 FORM FEED(FF)(U+000Ccodepoint)不换行空格NO-BREAK SPACE(U+00A0codepoint)零宽度非换行空格ZERO WIDTH NO-BREAK SPACE(U+FEFFUcodepoint)空格分隔符类别中的任何其他字符
代码点(Code Point):Unicode是属于编码字符集(CCS)的范围。Unicode所做的事情就是将我们需要表示的字符表中的每个字符映射成一个数字,这个数字被称为相应字符的码点(code point)。例如严字在Unicode中对应的码点是U+0x4E25。
代码点是字符集被编码后出现的概念。字符集(Code Set)是一个集合,集合中的元素就是字符,比如ASCII字符集,其中的字符就是A、B等字符。为了在计算机中处理字符集,必须把字符集数字化,就是给字符集中的每一个字符一个编号,计算机程序中要用字符,直接用这个编号就可以了。于是就出现了编码后的字符集,叫做编码字符集(Coded Code Set)。编码字符集中每一个字符都和一个编号对应。那么这个编号就是代码点(Code Point)。
简单来说,空格是在屏幕上呈现的字符,会创建一个空白区域。常见的空白字符是空格和制表符t。其次,行终止符也是一组特殊的字符,包括:
换行LINE FEED(U+000Acode point)回车CARRIAGE RETURN(U+000Dcode point)行分隔符LINE SEPARATOR(U+2028code point)段落分隔符PARAGRAPH SEPARATOR(U+2029code point)
行终止符表示存在于文本行末尾并具有某些特殊用途的字符。一个常见的行终止符是换行符n,这意味着向前移动一行。
2. 在 JavaScript 中trim字符串
有些情况下,您希望清除从应用程序中输入的字符串。例如,您希望从表示用户名、名、姓、电话号码等的表单字段中删除空白字符串。
javaScript提供了3个关于如何删除空白字符的简单函数。
2.1 string.trim()
string.trim()从字符串的开头和结尾删除空格和行终止符序列。
让我们看几个例子:
const name =Kate;name.trim();//=>Kateconst phoneNumber =t 555-123n;phoneNumber.trim();//=>555-123
name.trim()从字符串的开头和结尾删除空格。Kate变成Kate。phoneNumber.trim()还清理两端制表符和换行符:t 555-123n变成555-123。
trim 函数从字符串序列的两端删除连续的空格和行终止符。如果在两个字母之间有一个空格,是会保留这个空格的:
constfullName =Kate Smith;fullName.trim();// => Kate Smith
fullName.trim()删除字符串开头和结尾的空格,但保留单词Kate和Smith单词之间的空格。
2.2 string.trimStart()
string.trimStart()仅从字符串的开头删除空格序列和行终止符。
const name =Jane;name.trimStart();//=>Janeconst 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();//=>Jimconst phoneNumber =t 555-123 n;phoneNumber.trimEnd();//=>t 555-123
name.trimEnd()从末尾删除一个空格,并且不触及前导部分。Jim变成Jim。
phoneNumber.trimEnd()修剪字符串的结尾。t 555-123n变成t 555-123。
三、结论
与空格或制表符一样,空白字符是在呈现时创建的空白空间的特殊字符。 此外,像换行符,你可以在多行字符串的行尾找到。
通常,您会发现从字符串中删除这些特殊字符很有用,JavaScript trim 函数可以帮助你。
string.trim()从字符串的开头和结尾删除空格和行终止符序列,string.trimStart() 从开头删除它们,string.trimEnd()从结尾删除它们。