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
  • asp之家 网络编程 m.aspxhome.com