Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清点字数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 清点字数

Javascript 清点字数,javascript,jquery,html,Javascript,Jquery,Html,我一直在寻找使用jQuery向textarea添加单词和字符计数的方法,尽管我找到的都是限制字符和单词的插件 我希望实时更新,以便每次用户添加字符或单词时,计数器都会更新 有没有一种简单的方法来检查单词和字符?W/O jQuery: this.innerHTML gives you the textarea content. this.innerHTML.length gives you the number of characters. 使用jQuery: $(this).html()

我一直在寻找使用jQuery向textarea添加单词和字符计数的方法,尽管我找到的都是限制字符和单词的插件

我希望实时更新,以便每次用户添加字符或单词时,计数器都会更新

有没有一种简单的方法来检查单词和字符?

W/O jQuery:

this.innerHTML gives you the textarea content.  
this.innerHTML.length gives you the number of characters.
使用jQuery:

$(this).html()
等等

我相信你能想出一个简单的字数计算算法。

char_count = $("#myTextArea").val().length;
word_count = $("#myTextArea").val().split(" ").length;
函数字数(val){
var wom=val.match(/\S+/g);
返回{
charactersNoSpaces:val.replace(/\s+/g',).length,
字符:val.length,
单词:wom?wom.length:0,
行:val.split(/\r*\n/).length
};
}
var textarea=document.getElementById('text');
var result=document.getElementById('result');
textarea.addEventListener('input',function(){
var wc=字数(this.value);
result.innerHTML=(`

字符(无空格):${wc.charactersNoSpaces}
字符(和空格):${wc.Characters}
单词:${wc.Words}
行:${wc.Lines} `); });


使用.length检查字符计数。字数通常不重要,除非它像是一篇文章,因为你可以做一个非常好的单词。$(“textarea”).html().split(“”)。Length我讨厌听起来粗鲁,但我用谷歌搜索了“”和。至于长度,就是,长度。所以你真的一点也不努力搜索。我搜索过,没有发现任何worksTextarea的HTML内容不值钱的东西。我已经测试过了。虽然我将no jquery部分更改为innerHTML,但只是选中了,您可以使用.value,它是这个上下文中的值,两者都是fineW3C不在HTML4的textarea元素中定义value属性。值属性可以依赖于浏览器。我不想限制单词和字符,我只想计算它们长度是属性,字符串没有方法长度()有办法使其实时更新吗?确实在我的回答中添加了一个演示它可以工作!非常感谢。此外,我还尝试过,虽然我遇到了语法错误,你知道它会做什么吗?这是一种非常简单的方法,但它不考虑尾随空格或连续多个空格字符,在手动方法中,这些字符不会被视为新词。
jQuery(document).ready(function(){
    var count = jQuery("#textboxid").text().length;
});
var txt = $('.content')[0].text()
  , charCount = txt.length
  , wordCount = txt.replace( /[^\w ]/g, "" ).split( /\s+/ ).length
  ;
$( '#somwhereInYourDocument' ).text( "The text had " + charCount + " characters and " + wordCount +" words" );