m0_52808467 2021-06-05 15:33 采纳率: 100%
浏览 34
已结题

如何透過 jquery 刪除字串中多餘的空白?

大家好,我是名前端自學初學者!
目前想實做一個需求。

  1. 在一個範圍區塊內使用者文字過多超過兩行才會隱藏多餘文字,並出現顯示更多。
  2. 不到兩行是不會出現『顯示更多』的字樣的。

遇到的困難,因為使用者有的時候會出現文字中空白的情況所以導致我設定 超過 70 個字元才會出現顯示更多這個判斷是錯誤的,我有試著使用 trim() 用來消除字串的前後空白,但是文字中間的空白又該如何移除呢?
有人說可以使用正則表達式例如:str = str.replace(/\W{2,}/g, " ")
但我沒學過這個不知道該加到我的程式碼中的哪一段~


為此困擾了好幾天,不知道是否有夥伴可以給予協助,謝謝。

這是我的程式碼
https://codepen.io/hong-wei/pen/xxqWWOQ?editors=1010

  • 写回答

2条回答 默认 最新

  • 奶绿走糖 2021-06-09 18:04
    关注
    $(function() {
      let len = 70
      $('.demo').each(function() {
        if ($(this).html().trim().length > len) {
          var str = $(this).html().substring(0, len - 1).replace(/\s+/g,"") + "<a class='more'>...顯示更多</a>";
          $(this).html(str);
        }
      });
    });

    “有人說可以使用正則表達式例如:str = str.replace(/\W{2,}/g, " ")
    但我沒學過這個不知道該加到我的程式碼中的哪一段~”

     

    可以解釋一下,str在這裏指的是你的字符串,這個replace()是字符串的方法,將你想執行這個方法的字符串再點上這個方法去渲染就可以了。

     

    下次不懂這個方法怎麽用,比如這個replace(),可以直接搜replace(),去看這個方法怎麽用就可以了。正則現在不理解沒關係,能解決問題就行。上面那個答主就提供了各種去空格的方法,我這個正則就是在上面那個答主提供的鏈接去找的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证