文章导航

JavaScript trim()

2018-8-31 01:35| 作者: admin| 查看: 1579| 评论: 0|来自: 蚂蚁部落

trim方法可以清除字符串两端的一个或者多个空格。

ES5之前,JavaScript没有内置此方法,算是一个功能欠缺。

好在ES5新增此功能,弥补了此缺陷。

更多内容可以参阅JavaScript String 字符串一章节。

语法结构:

[JavaScript] 纯文本查看 复制代码
str.trim()

此方法能够清除字符串两端的空格。

浏览器兼容:

(1).IE9+浏览器支持此方法。

(2).edge浏览器支持此方法。

(3).谷歌浏览器支持此方法。

(4).火狐浏览器支持此方法。

(5).opera浏览器支持此方法。

(6).safria浏览器支持此方法。

代码实例:

[JavaScript] 纯文本查看 复制代码运行代码
var str = " antzone ";
console.log(str.length);
console.log(str.trim().length);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/31/013640mqhmvbm2uoc1qmr7.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

在应用trim方法之前,字符串的长度是9,在应用之后,字符串的长度是7。

从一个侧面证明字符串两端的空格已经被删除。

考虑到当前低版本IE浏览器还有一定的市场,所以需要进行一下兼容。

下面就是一段能够兼容所有主流浏览器的代码实例:

[JavaScript] 纯文本查看 复制代码
if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}
var str = " antzone ";
console.log(str.length);
console.log(str.trim().length);

上面能够兼容低版本IE浏览器,本站已经测试过了,下面对代码进行一下分析。

(1).第一行代码用来判断当前浏览器是否支持trm方法,虽然trim方法是内置的,但是也是从原型链继承的。

(2).如果浏览器不支持,那么就在原型链上添加一个自定trm方法。

(3).核心是里面的正则表达式,它能够将字符串两端的空格替换为空。

前面介绍的是删除字符串两端的空格,实际应用中,也许需要删除字符串中所有的空格。

下面通过代码实例补充一下此功能,需要的朋友可以借鉴一下。

[JavaScript] 纯文本查看 复制代码运行代码
let str=" 蚂蚁部落 antzone ";
String.prototype.trim = function () {
  let reg=/\s/g;
  return this.replace(reg,"");
};
console.log(str.length);
console.log(str.trim().length);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201811/28/152231uafx3iy3sloffdyh.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面代码可以删除字符串中的所有空格。

实现原理非常简单,\s匹配字符串中所有的空格,然后通过replace方法将空格都替换为""。

最终达到了删除所有空格的功能,更多内容参阅如下两篇文章:

(1).\s参阅正则表达式 \s 元字符一章节。

(2).replace参阅正则表达式replace()一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部