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日

悬赏问题

  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私