前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript去掉字符串空白字符

JavaScript去掉字符串空白字符

作者头像
用户7293182
发布2022-01-17 21:53:32
1.8K0
发布2022-01-17 21:53:32
举报
文章被收录于专栏:jQuery每日经典jQuery每日经典

一、空白字符

这里的空白字符是所有的空白字符(space、tab、no-break space等)以及所有行终止字符(如LF、CR).

1. whitespace characters

In computer programming, white space is any character or series of characters that represent horizontal or vertical space in typegraphy.

在计算机程序中,空白字符指在排版中表现水平或者垂直空白的任何字符或一系列字符。

When rendered, a whitespace character does not correspond to a visible mark, but typically does occupy an area on a page.

当呈现时,空白字符并不对应于可见的标记,但通常在页面上占据一个区域。

For example, the common whitespace symbol U+0020 SPACE(HTML ), also ASCII32, represents a blank space punctuation character in text, used as a word divider in Western scripts.

例如:常见的空白符号U+0020空格,也就是ASCII32, 表示文本中空白的标点符号,在西方脚本中用作单词分隔符。

2. Line terminator

Newline, a special character or sequence of characters signifying the end of a line of text Electrical termination, at the end of a wire or cable to prevent an RF signal from being reflected

二、代码实现

String.prototype.trim()

浏览器兼容脚本

代码语言:javascript
复制
if (!String.prototype.trim) {
String.prototype.trim = function () {
 return this.replace(
    /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, 
     '');  
 };
}

3. jQuery源码分析

三、正则分析

1. \uFEFF

\uFEFF(Unicode编码),它是ES5新增的空白符,叫“字节次序标记字符(Byte Order Mark)”,也就是BOM;

Unicode3.2之前,\uFEFF表示“零宽不换行空格(Zero Width No-Break Space)”;Unicode3.2新增了\u2060用来表示零宽不换行空格,\uFEFF就只用来表示“字节次序标记字符”。

String.prototype.trim是ES5增加的方法,对于老旧浏览器,还得使用自己实现的trim。至少在低版本的 IE 浏览器下,jQuery1.7.2 是无法过滤字符串两段的BOM字符。

2. \xA0

The Cambredge Z88 provided a special “exact space” (codepoint 160 aka 0xA0)(invokable by key shortcut

)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jQuery每日经典 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档