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

时间:2019-06-13 21:49:13

标签: javascript jquery

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

例如,我有以下字符串:

72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre

在此文本区域中:

<textarea id="text"></textarea>
<button type="button" id="detect">DETECT</button>

所以,我这样做:

$("#detect").click(function(){
   var text = $("#text").val();
   var text2 = text.replace(/\d+/g, ''); //removing numbers

   var words = $.trim(text2).split(" "); //count words
   alert("String: "+text2+" Number of words: " +words.length);
});

问题是结果向我显示了这一点

String:     .bbberb  uhfuherhfru uruhreuhre || Number of words: 4

但是结果中有3个单词,所以我想得到这个:

String: .bbberb  uhfuherhfru uruhreuhre || Number of words: 3

我该如何解决? 我需要您的帮助。

2 个答案:

答案 0 :(得分:1)

split接受正则表达式。

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

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

这将忽略删除数字后剩余的多余空格。

答案 1 :(得分:0)

您可以过滤出空白条目:

 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);