JavaScript音节计数器-每行计数 现在的
我一直致力于:JavaScript音节计数器-每行计数 现在的,javascript,nlp,Javascript,Nlp,我一直致力于: 获取textarea 1的值 计算文本区域1中的音节数 在文本区域2中显示结果 每次编辑textarea 1的值时更新计数 充当函数(如果需要,可以在多个实例中运行) 当前代码的示例函数 输入(文本区域1) 结果(文本区域2) 现行代码 目标 我希望此脚本能够: 按每行计算textarea 1的音节数:可能是在有换行符的地方拆分textarea 1值,例如.split('\n') 输出结果,显示每行计数的音节总数 所需代码的示例函数 输入(文本区域1) 结果(文本区域
- 获取textarea 1的值
- 计算文本区域1中的音节数
- 在文本区域2中显示结果
- 每次编辑textarea 1的值时更新计数
- 充当函数(如果需要,可以在多个实例中运行)
目标 我希望此脚本能够:
- 按每行计算textarea 1的音节数:可能是在有换行符的地方拆分textarea 1值,例如
.split('\n')代码>
- 输出结果,显示每行计数的音节总数
笔记
对于任何可能对音节计数函数代码本身感兴趣的人:它不是100%准确,在某些单词上失败,但给出了一个很好的总体概念。试试这个,告诉我你是否需要它 标注: 我创建了一个数组,该数组将这些行存储起来
var arrayOfLines=$(“[name=set_u“+$input+”]).val().match(/[^\r\n]+/g)代码>
然后循环遍历该数组,并完全按照您之前所做的操作,但在每个数组条目上执行。然后将结果存储在tempArr中,并显示tempArr结果
看
函数$count\u有多少个音节($input){
$(“[name=set\+$input+”]).keyup(函数(){
var arrayOfLines=$(“[name=set\+$input+”]).val().match(/[^\r\n]+/g);
var tempArr=[];
var$内容;
变异词;
var$u计数;
var$结果;
对于(变量i=0;i 非常感谢你!我真的很感激!
i would appreciate
any help
at all
11
i would appreciate
any help
at all
6
3
2
function $count_how_many_syllables($input) {
$("[name=set_" + $input + "]").keyup(function () {
var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);
var tempArr = [];
var $content;
var word;
var $syllable_count;
var $result;
for(var i = 0; i < arrayOfLines.length; i++){
$content = arrayOfLines[i];
word = $content;
word = word.toLowerCase();
if (word.length <= 3) {
word = 1;
}
if (word.length === 0) {
return 0;
}
word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
.replace(/^y/, '')
.match(/[aeiouy]{1,2}/g).length;
$syllable_count = word;
$result = $syllable_count;
tempArr.push($result);
}
$("[name=set_" + $input + "_syllable_count]").val(tempArr);
});
}
(function($) {
$count_how_many_syllables("a");
})(jQuery);