繁体   English   中英

当我按 Enter 时<textarea>&lt;i&gt;the word counter not show the word&lt;/div&gt;&lt;/i&gt;&lt;b&gt;单词计数器不显示单词&lt;/div&gt;&lt;/b&gt;</textarea><div id="text_translate"><p> <a href="https://codepen.io/imbharat420/pen/QWbXeKg?editors=1010" rel="nofollow noreferrer">Codepen 项目链接</a></p><p>我如何更改正则表达式以计算任何人输入的单词</p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> (countWords=()=&gt;{ 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; })()</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;textarea name="inputString" id="inputString" cols="50" rows="4"&gt;Text to count&lt;/textarea&gt; &lt;br&gt; &lt;input type="button" name="Convert" value="Count Words" onClick="countWords();"&gt; &lt;input name="wordcount" id="wordcount" type="text" value="" size="6"&gt;</pre></div></div><p></p></div>

[英]when i press Enter on <textarea> the word counter not show the word

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">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM