当我在单词计数器上按 Enter 时<textarea>不显示单词



Codepen项目链接

我如何更改任何人输入的单词计数的正则表达式在上写一些东西

(countWords=()=>{
	s = document.getElementById("inputString").value;
	s = s.replace(/(^s*)|(s*$)/gi,"");
	s = s.replace(/[ ]{2,4}/gi," ");
	s = s.replace(/n /,"n");
	document.getElementById("wordcount").value = s.split(' ').length;
})()
<textarea name="inputString" id="inputString" cols="50" rows="4">Text to count</textarea>
<br>
<input type="button" name="Convert" value="Count Words" onClick="countWords();"> 
<input name="wordcount" id="wordcount" type="text" value="" size="6">

您可以用trim()从开始/结束处去除空白,然后用1+个空白字符分割:

s.trim().split(/s+/).length

或者,您可以使用匹配方法来计算所有非空白字符块:

document.getElementById("wordcount").value = s.match(/S+/g)?.length || 0;

JS演示(带可选链接(:

(countWords=()=>{
s = document.getElementById("inputString").value;
document.getElementById("wordcount").value = s.match(/S+/g)?.length || 0;
})()
<textarea name="inputString" id="inputString" cols="50" rows="4">Text to count</textarea>
<br>
<input type="button" name="Convert" value="Count Words" onClick="countWords();"> 
<input name="wordcount" id="wordcount" type="text" value="" size="6">

JS演示(无可选链接(:

(countWords=()=>{
s = document.getElementById("inputString").value;
var m =  s.match(/S+/g);
document.getElementById("wordcount").value = (m ? m.length : 0);
})()
<textarea name="inputString" id="inputString" cols="50" rows="4">Text to count</textarea>
<br>
<input type="button" name="Convert" value="Count Words" onClick="countWords();"> 
<input name="wordcount" id="wordcount" type="text" value="" size="6">

最新更新