计算单词输入字段

基本上我需要在输入字段中获取单词数。 因此,方法是修剪前导和尾随空格,并将字符串中的剩余空间限制为1.这样我就能获得单词数。 下面是我执行此操作的代码。

例如输入值:

" Robert Neil Cook " 

预期产量:

 3 //"Robert Neil Cook" 

这就是我试过的。

 var str = $.trim( $('#inval').val() ); var Fstr = str.split(' ').length; console.log(fstr); 

你可以使用.match(/\S+/g)

 var str = " Robert Neil Cook "; var arr = str.match(/\S+/g); var newstr = arr.join() console.log('length::::>', arr.length); console.log('newstr::::>', newstr); 

您可以使用以下自定义function来计算单词

  function countWords(s){ s = s.replace(/(^\s*)|(\s*$)/gi,"");//exclude start and end white-space s = s.replace(/[ ]{2,}/gi," ");//2 or more space to 1 s = s.replace(/\n /,"\n"); // exclude newline with a start spacing return s.split(' ').length; } alert(countWords("How are you?")); 

试试以下:

 str= " Robert Neil Cook " ; str = $.trim(str.replace(/ +(?= )/g,'')); // replace multiple spaces to single space console.log(str) var words = str.split(' '); // count the no of words using .split() method alert(words.length); 
  

试试这个代码..

 var str = $.trim( $('#inval').val() ); var words = str.split(' ').filter(v=>v!='').length; 

你可以将Haresh Vidja的function更加紧凑

 function countWords(s){ return s.trim().replace(/[ ]{2,}/gi," ").split(" ").length; } console.log(countWords("some words here") 

请看一下附件片段。

 var str = $.trim( $('#inval').val() ); str1 = str.replace(/ +(?= )/g,'') var fstr = str1.split(' ').length; console.log(fstr); console.log(str1); 
   

非常简单的解决方案,试试吧

 var str = " Robert Neil Cook "; str = str.trim(); var str = str.split(' ').join(''); var fstr = str.split(' ').length; console.log(fstr);