Javascript 如何使用Jquery计算文本区域中只有字母而没有数字的单词?

Javascript 如何使用Jquery计算文本区域中只有字母而没有数字的单词?,javascript,jquery,Javascript,Jquery,我有一个包含字母、数字和空格的字符串。我想数一数只有字母而忽略数字的单词 例如,我有以下字符串: 72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre 在此文本区域: <textarea id="text"></textarea> <button type="button" id="detect">DETECT</button> 问

我有一个包含字母、数字和空格的字符串。我想数一数只有字母而忽略数字的单词

例如,我有以下字符串:

72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre
在此文本区域:

<textarea id="text"></textarea>
<button type="button" id="detect">DETECT</button>
问题是,结果显示:

String:     .bbberb  uhfuherhfru uruhreuhre || Number of words: 4
但结果中有三个词,所以我想得到:

String: .bbberb  uhfuherhfru uruhreuhre || Number of words: 3
我怎样才能修好它?
我需要你的帮助。

split
接受正则表达式

可以将多个空间视为一个空间,如下所示:

$.trim(text2).split(/ +/);

这将忽略删除数字后留下的额外空格。

您可以过滤掉空条目:

 var text2 = text.replace(/\d+/g, ''); //removing numbers
 var words = $.trim(text2).split(" ").filter(a => a != ""); //count words

 console.log("String: "+text2+" Number of words: " +words.length);

“我想数一数只有字母而忽略数字的单词。”那你为什么要从单词中删除数字呢?从您的示例字符串中,只有两个单词是alpha only。我可能会更进一步,使用
.split(/\s+/)
在所有空格上进行拆分。@StephenP提出了一个很好的观点,以防字符串可能包含制表符或换行符。
 var text2 = text.replace(/\d+/g, ''); //removing numbers
 var words = $.trim(text2).split(" ").filter(a => a != ""); //count words

 console.log("String: "+text2+" Number of words: " +words.length);