我需要计算用户的打字速度,输入他的电子邮件地址来计算打字速度。
用户将与键入其电子邮件地址的其他用户竞争。我是怎么做的,因为我花时间输入他们的电子邮件地址。例如5秒
然后输入输入的字符数,例如23个字符除以5(平均字长)
总时间/总字数* 60 =每分钟字数
问题在于,如果用户的电子邮件地址较短,则存在差异,例如me@me.com他每分钟会得到170个单词,而如果你有一个像chrisemail@hotmail.com这样的单词,你每分钟会得到55个单词。
如何找到标准化或增加重量的方法,以便我可以比较打字速度?
答案 0 :(得分:3)
通过让用户输入相同的输入来标准化。当您输入非常少量的数据时,这一点尤为重要。请考虑以下事项:
Lorem ipsum dolor坐下来,精神上的精神。 Nulla fermentum felis nec quam accumsan venenatis porta ligula vehicula。 Praesent vitae sapien vitae velit tempor luctus eget a enim。 Praesent eros metus,简称adipiscing vitae,conu eu tellus。 Nullam feugiat,Massa at adipiscing congue,tellus dui mollis nibh,id convallis metus libero sed libero。 Pellentesque居民morbi tristique senectus et netus et malesuada fames ac turpis egestas。 Nunc vitae认为爱欲。 Sed non fringilla purus。 Quisque lectus leo,lacinia vitae elementum at,laoreet eget leo。整数坐在amet orci tellus。 Sed diam metus,elementum id varius at,iaculis sit amet eros。
这花了我每分钟大约28个单词(这比我的正常打字速度慢得多)。这是一个很大的文本,但更重要的是它通常不是键入文本。它不是我的母语,所以我不得不慢慢分析每个单词。它不是由我经常打字的东西组成的。等等。
我
这花了我每分钟约600字(虽然很难估计,所以那里有很大的误差)。个人最好至少可以说。
为什么这些结果变化如此显着?因为我输入的东西非常不同。当您将另一个变量添加到此等式(多人)时,您会获得更多变化。
您需要标准化测试。当教育机构对学生进行测试时,他们通常会让那些学生执行相同的(如果不是至少功能上相同的)任务。这有助于消除变量,以便唯一的变量是被测试的变量......人。
答案 1 :(得分:1)
尝试以下几点:
<!doctype html>
<html>
<body>
<textarea id="email_add"></textarea>
<input type="button" value="Done" id="done"/>
<script>
var doneButton = document.getElementById('done');
var emailArea = document.getElementById('email_add');
var lengthOfEmail = 0;
var time_start = 0;
var time_end = 0;
emailArea.onkeyup = function() {
lengthOfEmail++;
if(lengthOfEmail == 1) time_start = new Date();
else time_end = new Date().getTime() - time_start;
}
doneButton.onclick = function() {
alert("Email Length: " + lengthOfEmail);
alert("Time: " + time_end + " milliseconds.");
}
</script>
</body>
</html>
现在,您需要调整电子邮件地址长度,以适应输入“@”符号时按下的班次。但这应该可以帮助你获得时间,同时还可以验证它们不仅仅是复制和粘贴。