Javascript简单字计数器

Javascript简单字计数器,javascript,Javascript,我试图在Javascript中为textarea元素创建一个简单的单词计数器。到目前为止,我已经尝试了很多方法,但每个人都有失败的地方。我在网上搜索了一下,但我只找到了使用函数、JS命令和语法的解决方案,这些我还不知道。目标是统计文本区域中最多包含140个字符的单词。文本也可以在一行以上,所以我必须考虑新的行符号。 到现在为止,我写了这样一封信: for (let i = 0; i < text.length; i++) { if (text[i]==' ' &

我试图在Javascript中为textarea元素创建一个简单的单词计数器。到目前为止,我已经尝试了很多方法,但每个人都有失败的地方。我在网上搜索了一下,但我只找到了使用函数、JS命令和语法的解决方案,这些我还不知道。目标是统计文本区域中最多包含140个字符的单词。文本也可以在一行以上,所以我必须考虑新的行符号。 到现在为止,我写了这样一封信:

for (let i = 0; i < text.length; i++) {
          if (text[i]==' ' && (text[i-1]!==' ' && text[i-1]!=='\n')) { 
            wc++;
            
          }
          else if(text[i]=='\n' && text[i-1]!==' '){
            wc++;
          }
        }
for(设i=0;i
它有点有效,但只有在单词后面按空格键时才算。有没有办法从用户只键入一个字母开始计数? 编辑:
我已经尝试过.split(“”)方法,但它不适用于ENTER/RETURN键。我的目标是在用户键入字母后立即开始计数。

您可以使用
split
和一个用于空格的正则表达式

let words = text.split(/\W/);
wc = words.length;
split将字符串拆分为一个数组,每次找到传递给它的表达式时,它都会为数组创建一个新条目

正则表达式
/\W/
获取空格(''和'\n')


因此,通过这种方式,它将创建一个每个单词都分开的数组,然后您只需要检查数组的长度

您可以使用
split
以及一个用于空格的正则表达式

let words = text.split(/\W/);
wc = words.length;
split将字符串拆分为一个数组,每次找到传递给它的表达式时,它都会为数组创建一个新条目

正则表达式
/\W/
获取空格(''和'\n')


因此,通过这种方式,它将创建一个每个单词都分开的数组,然后您只需检查添加的数组的长度,将所有多个空格替换为单个空格。还添加了检查是否输入了新行

document.getElementById(“inputField”).addEventListener(“input”,函数(e){
//获取输入文本值
var text=this.value;
//将所有多个空间替换为单个空间
text=text.replace(/\s\s+/g,“”);
//初始化字计数器
var-wc=0;
//循环阅读课文
//并计算其中的空格
for(设i=0;i



字数: 0

添加了将所有多个空格替换为单个空格。还添加了检查是否输入了新行

document.getElementById(“inputField”).addEventListener(“input”,函数(e){
//获取输入文本值
var text=this.value;
//将所有多个空间替换为单个空间
text=text.replace(/\s\s+/g,“”);
//初始化字计数器
var-wc=0;
//循环阅读课文
//并计算其中的空格
for(设i=0;i



字数: 0

也许只需
拆分
文本,过滤空字符串并获取长度。这是否回答了您的问题?也许只需
split
文本,过滤空字符串并获取长度。这是否回答了您的问题?我的课程还没有涉及正则表达式。还有别的方法吗?你可以做text.spit(“”)我们还没有在我的课程中讨论正则表达式。还有别的方法吗?你可以做text.spit(“”)