计算单词输入字段
基本上我需要在输入字段中获取单词数。 因此,方法是修剪前导和尾随空格,并将字符串中的剩余空间限制为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);