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