Javascript中各种trim的实现详细解析
时间:2024-04-18 10:55:04
这是lgzx公司的一道面试题,要求给js的String添加一个方法,去除字符串两旁的空白字符(包括空格、制表符、换页符等)。
String.prototype.trim = function() {
//return this.replace(/[(^\s+)(\s+$)]/g,"");//會把字符串中間的空白符也去掉
//return this.replace(/^\s+|\s+$/g,""); //
return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
}
JQuery1.4.2,Mootools 使用
function trim1(str){
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');
}
jQuery1.4.3,Prototype 使用,该方式去掉g以稍稍提高性能 在小规模的处理字符串时性能较好
function trim2(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}
Steven Levithan 在进行性能测试后提出了在JS中执行速度最快的裁剪字符串方式,在处理长字符串时性能较好
function trim3(str){
str = str.replace(/^(\s|\u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0, i+1);
break;
}
}
return str;
}
最后需要提到的是 ECMA-262(V5) 中给String添加了原生的trim方法(15.5.4.20)。此外Molliza Gecko 1.9.1引擎中还给String添加了trimLeft ,trimRight 方法。
标签:Javascript,trim
0
投稿
猜你喜欢
MySQL查询随机数据的4种方法和性能对比
2024-01-25 17:09:46
tensorflow创建变量以及根据名称查找变量
2023-08-13 10:13:06
python中查看变量内存地址的方法
2023-11-06 01:38:21
Python函数的默认参数设计示例详解
2021-03-23 04:31:58
MySQL字符集查看方法
2010-12-14 15:14:00
SNS用户体验和互动性浅析
2011-01-17 17:56:00
浅谈DataFrame和SparkSql取值误区
2021-03-21 22:04:18
Python pandas读取CSV文件的注意事项(适合新手)
2021-10-12 12:07:32
PyTorch如何创建自己的数据集
2022-10-17 05:22:17
Appium自动化测试实现H5页面元素定位
2023-06-22 02:25:53
用PHP编写每周签到功能以提高用户参与度
2023-05-27 17:24:54
Python可视化神器pyecharts绘制折线图详情
2023-01-09 13:57:07
Oracle中Union与Union All的区别(适用多个数据库)
2012-07-21 15:13:27
oracle 性能优化建议小结
2010-04-22 16:32:00
如何基于线程池提升request模块效率
2023-06-12 11:13:44
Python GAE、Django导出Excel的方法
2023-02-27 13:59:09
python pip如何手动安装二进制包
2023-07-24 04:09:14
python自定义异常实例详解
2022-09-04 23:33:19
python计算书页码的统计数字问题实例
2021-03-26 01:23:18
Go语言映射内部实现及基础功能实战
2024-04-27 15:39:30