JavaScript 如何在文本域中计算字数
有时,任务是计算输入框或文本区域中输入的字数。如果我们想显示多行文本,通常会使用文本区域。在输入文本到文本区域时,用户可以使用空格作为单词之间或行之间的分隔符。使用HTML和带有jQuery库的JavaScript代码,本文演示了计算输入文本中的字数的过程。通过使用两个不同的示例来展示。在第一个示例中,将计算输入的空格或换行符以找到字数。在第二个示例中,首先将换行符替换为普通空格,然后使用文本分割方法在空格处分割文本以找到字数。
示例1:使用HTML和JavaScript代码通过计算空格和换行符来找到单词数
步骤
- 步骤1 - 创建一个HTML文件并开始编写代码。
-
步骤2 - 创建三个
<p>
标签。分别给定不同的id。一个将显示文本。第二个将显示单词数。第三个将显示字符数。 -
步骤3 - 创建一个函数,在其中使用for循环从输入的文本开始计算字符。检查是否输入了空格或换行符,然后增加单词计数值。
-
步骤4 - 创建一个按钮,并在单击时调用上述函数。
-
步骤5 - 执行程序以验证结果。
<!DOCTYPE html>
<html>
<head>
<title>Word Count Example</title>
</head>
<body> <h1> Count the words written in the text area</h1>
<h2>Enter the Text </h2>
<textarea id="text11" rows="4" cols="50"></textarea>
<button type="button" name="action" onclick="wordcountfunction()">Count Words</button>
<p id="paratext" style='white-space:pre'></p>
<p id="paracountw"></p>
<p id="paracountc"></p>
<script>
function wordcountfunction(){
var x = document.getElementById("paratext");
var y = document.getElementById("paracountw");
var z = document.getElementById("paracountc");
var testString=document.getElementById("text11").value;
var myArray = testString.replace( /
/g, " " ).split( " " );
if(testString){
x.innerHTML = testString ;
}else{
console.log("enter the text in the text area first")
}
var characterCount = 0;
var wordCount = 1;
var nn;
for (var chr = 0; chr < testString.length; chr++) {
nn=testString[chr];
characterCount=characterCount+1;
if(nn == ' ' || nn.indexOf("
") != -1){
wordCount++;
}
y.innerHTML = "word Count : " + wordCount ;
z.innerHTML = "CHARACTER count : " + characterCount ;
document.getElementById("text11").value = "";
}
}
</script>
</body>
</html>
查看结果 – 示例1
要查看结果,请在浏览器中打开HTML文件。现在点击按钮并检查结果。
示例2:使用HTML和JavaScript代码使用文本拆分方法来查找字数
步骤
- 步骤1 - 创建一个HTML文件并开始编写代码。
-
步骤2 - 创建三个
<p>
标签。给它们分配不同的id。一个用于显示文本,第二个用于显示字数,第三个用于显示字符数。 -
步骤3 - 创建一个函数,检查是否有任何换行符。将其替换为空格。现在,在空格中拆分文本,并将部分存储在数组中。数组中输入的单词数即为字数。
-
步骤4 - 创建一个按钮,并在点击时调用上述函数。
-
步骤5 - 运行程序并显示结果。
在这里,单词被分隔并放入一个数组中。
<!DOCTYPE html>
<html>
<head>
<title>Word Count Example</title>
</head>
<body> <h1> Count the words by using text Split</h1>
<h2>Enter the Text </h2>
<textarea id="text11" rows="4" cols="50"></textarea>
<button type="button" name="action" onclick="wordcountfunction()">Count Words</button>
<p id="paratext" ></p>
<p id="paracountw"></p>
<p id="paracountc"></p>
<script>
function wordcountfunction(){
var x = document.getElementById("paratext");
var y = document.getElementById("paracountw");
var z = document.getElementById("paracountc");
var testString=document.getElementById("text11").value;
var myArray = testString.replace( /
/g, " " ).split( " " );
if(testString){
x.innerHTML = "The words entered: " + testString ;
}else{
console.log("enter the text in the text area first")
}
var characterCount=0;
var wordCount=1;
var n;
for (var i = 0; i < testString.length; i++) {
n=testString[i];
characterCount=characterCount+1;
if(n == ' ' || n.indexOf("
") !=-1){
wordCount = wordCount+1;
}
y.innerHTML = "word Count : " + wordCount ;
z.innerHTML = "CHARACTER count : " + characterCount ;
document.getElementById("text11").value = "";
}
}
</script>
</body>
</html>
查看结果
要显示结果,请在浏览器中打开HTML文件。现在在文本区域中输入一些行。点击计算单词按钮以查看单词计数。
在这篇JavaScript-HTML文章中,使用两个不同的示例说明了如何计算输入文本区域中的单词数。首先,介绍了一种方法,即分析单词之间输入的空格和输入的换行符以计算单词数。在第二个示例中,将所有换行符转换为普通空格后,使用了文本拆分方法。