gpt4 book ai didi

javascript - 让文本区域正确计算换行符

转载 作者:行者123 更新时间:2023-12-03 11:57:02 24 4
gpt4 key购买 nike

我一直在用头撞墙,试图找出从文本区域获取字符倒计时的最佳方法。我创建了这个 jsfiddle但如果我从 Lipsum.com 粘贴 4000 个字符,那么它会说超过了 12 个字符。我知道这是因为换行符,但我不确定如何让它在浏览器中正确且一致地工作。

$('textarea').on('keyup', function() {
characterCount(this);
});

$('textarea:not(:empty)').each(function() {
characterCount(this);
});

function characterCount(that) {
var $this = $(that),
$maxLength = $this.attr('data-val-length-max'),
$lengthOfText = $this.val().length,
$charCountEl = $this.closest('.form-group').find('.maxchar-count');

if($maxLength) {
$($charCountEl).text($maxLength - $lengthOfText);
}

if($lengthOfText > $maxLength) {
$charCountEl.addClass('has-error');
} else {
$charCountEl.removeClass('has-error');
}
}

和标记

<div class="form-group">
<textarea rows="5" data-val-length-max="4000"></textarea>
<div>
<span class="maxchar-count">4000</span>
</div>
</div>

我见过一些类似的问题,但尚未找到适合我的答案。

谢谢

亨利

最佳答案

尝试

$lengthOfText = $this.val().replace(/\n/g, '').length

而不是

$lengthOfText = $this.val().length

这样您就可以删除文本区域中的换行符。

如果您希望在总数中避免所有类型的间距,您可以使用

$lengthOfText = $this.val().replace(/\s/g, '').length

希望这有帮助。

关于javascript - 让文本区域正确计算换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25571034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com