gpt4 book ai didi

javascript textarea 每行计算字符数

转载 作者:行者123 更新时间:2023-11-29 10:34:18 27 4
gpt4 key购买 nike

我正在尝试计算文本区域每一行中的字符数。

我已尝试调整此代码以计算音节 http://jsfiddle.net/5Zwkq/19/没有成功。任何帮助将不胜感激。

function $CharCount($input) {
$("[name=set_" + $input + "]").keyup(function() {

var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);
var tempArr = [];
var $content;
var char;
var $result;

for (var i = 0; i < arrayOfLines.length; i++) {
$content = arrayOfLines[i];
$result = $content.val().length;
tempArr.push($result);
}

$("[name=set_" + $input + "_content]").val(tempArr);

});
}

(function($) {
$CharCount("a");
})(jQuery);
<textarea rows="8" cols="3" class="alignright" name="set_a_syllable_count" readonly="readonly" /></textarea>
<textarea rows="8" cols="30" name="set_a"></textarea>

最佳答案

.val() 导致此行出错:

$result = $content.val().length;

正确删除它会计算线的长度(至少在计算区域)。

至于计数器 textarea 错误,您只是错误地选择了 jQuery 选择器。将您的元素 set_a_syllable_count 重命名为 set_a_content

还有一个问题 - 当 textarea 为空时,它会抛出一个错误,因为您正在检查一个空的正则表达式结果(准确地说是 null)。当没有匹配的行时,您只需要防止计数代码执行:

if (arrayOfLines !== null) { ... counting code ... }

固定代码:

function $CharCount($input) {
$("[name=set_" + $input + "]").keyup(function() {

var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);
var tempArr = [];
var $content;
var char;
var $result;

if (arrayOfLines !== null) {
for (var i = 0; i < arrayOfLines.length; i++) {
$content = arrayOfLines[i];
$result = $content.length;
tempArr.push($result);
}
}

$("[name=set_" + $input + "_content]").val(tempArr);

});
}

(function($) {
$CharCount("a");
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<textarea rows="8" cols="3" class="alignright" name="set_a_content" readonly="readonly" /></textarea>
<textarea rows="8" cols="30" name="set_a"></textarea>

关于javascript textarea 每行计算字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39354969/

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