实现trim的3种方法

trim 方法 (字串) (JavaScript) 移除字串前后的空白字元以及行结束字元。

  • 用法 string.trim()
  1. 递归截取(不推荐)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function trim(str){
    // 加入类型判断
    if(str[0]===' '||str[str.length-1]===' '){
    if(str[0]===' '){
    str=str.substring(1,str.length)
    }
    if(str[str.length-1]===' '){
    str=str.substring(0,str.length-1)
    }
    trim(str)
    }else{
    console.log(str)
    return str
    }
    }
  2. 2次遍历记录不为空格的索引,最后截取

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function trim(str) {
    let start, end // 开始和结束为止 遍历记录不为空格的索引
    for (let i = 0; i < str.length; i++) {
    if (str[i] !== ' ') {
    start = i
    break
    }
    }
    for (let i = str.length - 1; i > 0; i--) {
    if (str[i] !== ' ') {
    end = i
    break
    }
    }
    return str.substring(start, end + 1)
    }
  3. 正则替换

    1
    2
    3
    4
    5
    6
    7
    function trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "")
    }

    // 1. value.toString()
    // 2. String('123213')
    // 3. '' + value
本文结束感谢您的阅读

本文标题:实现trim的3种方法

文章作者:陈宇(cosyer)

发布时间:2018年10月29日 - 15:10

最后更新:2018年12月15日 - 13:12

原始链接:http://mydearest.cn/%E5%AE%9E%E7%8E%B0trim%E7%9A%843%E7%A7%8D%E6%96%B9%E6%B3%95.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!