【问题标题】:Count chars, remove extra chars and add string before input计算字符,删除多余的字符并在输入前添加字符串
【发布时间】:2014-01-28 10:18:09
【问题描述】:

我希望能够计算元素中的字符数,如果数量超过限制,则删除多余的字符,并在允许的文本之前添加一个字符串

到目前为止,我有这个:

var ref = "really_really_really_really_really_really_really_really_really_really_really_loong_text";
if (ref.length > 47) {
    ref = '...'+ref.substr(0,47);
}
$("#box").text("Ref: "+ref);

<textarea maxlength="50" name="box" rows="6" cols="40" id="box"></textarea>

在这种情况下,我希望字符串最多包含 47 个字符,并且在其开头添加 ... = 总共 50 个字符。 它有点工作,但如果字符串超过限制,我想剪掉字符串的 第一部分,而不是最后一部分。我该怎么做?

Fiddle here.

非常感谢。

【问题讨论】:

    标签: jquery substring


    【解决方案1】:

    从索引length - 47 开始子串到length

    Live Demo

    var ref = "really_really_really_really_really_really_really_really_really_really_really_loong_text";
    if (ref.length > 50) {
        ref = '...'+ref.substr(ref.length-47,ref.length);
    }
    $("#box").text("Ref: "+ref);
    

    【讨论】:

    • 好的,我明白了。谢谢。但我仍然需要 var ref 的最后 47 个字符 - 而不是前 47 个字符。 :-)
    • 是的,你明白了。完美的。谢谢。
    【解决方案2】:

    试试这个吧。

    var ref = "really_really_really_really_really_really_really_really__loong_text";
    if (ref.length > 50) {
      var endStringLength = ref.length-47;
      ref = ref.slice(-endStringLength) + '...';
    }
    $("#box").text("Ref: "+ref);
    

    【讨论】:

    • 这个解决方案是更好、更快还是……?
    猜你喜欢
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2016-09-30
    • 2019-01-10
    • 2022-01-05
    • 1970-01-01
    • 2018-11-10
    • 2021-03-21
    相关资源
    最近更新 更多