如何在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() 删除字符串开头和结尾的空格,但是保留 Kate和 Smith字符之间的空格。
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的修剪函数可以帮助你。