[英]when i press Enter on <textarea> the word counter not show the word
我如何更改正则表达式以计算任何人输入的单词
(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">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.