3c3 < Keyboard Typing Testing - RJM Programming - March, 2023 --- > No Copy and Paste - RJM Programming - March, 2023 5d4 < 7,20d5 < var wpm=0.0; < var cpm=0.0; < var accuracy=0.0; < var retakes=0.0; < < var numwords=-1; < var numsecs=0; < var numchars=0; < var numkds=0; < var numkps=0; < < var vswords=0; < var vschars=0; < 83,112d67 < function maybeokay(ing) { < if (eval('' + ing.length) > 1) { < var fl=ing.substring(0,1); < var el=ing.slice(-1); < if (fl != el) { < if ((fl < '0' || fl > 'z') && ing.substring(1).indexOf(fl) != -1) { < return '"' + ing.substring(1).split(fl)[0] + '"'; < } < } else { < if ((fl < '0' || fl > 'z')) { < return '"' + ing.substring(1).split(fl)[0] + '"'; < } < } < } < return ing; < } < < function maybeok(ing) { < if (eval('' + ing.length) > 1 && document.getElementById('myif').src.indexOf('added') != -1) { < var fl=ing.substring(0,1); < var el=ing.slice(-1); < if (fl == el) { < if (fl < '0' || fl > 'z') { < return 'x'; < } < } < } < return ing; < } < 114d68 < var ideaone=''; 116,208d69 < if (document.getElementById('results').innerHTML != '' && numwords < 0) { < if (document.getElementById('results').innerText.indexOf(' ... ') != -1) { < ideaone=maybeokay(document.getElementById('results').innerText.split(' ... ')[1].replace(/\/g, String.fromCharCode(10)).replace(/“/g,String.fromCharCode(34)).replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').trim()); < if ((maybeok(ideaone) + ' ').substring(0,1) != '"' && document.getElementById('myif').src.indexOf('added') != -1) { < //alert('ideaone=' + ideaone); < document.getElementById('results').innerHTML=''; < document.getElementById('myif').src=document.getElementById('myif').src.replace('added', 'created'); < return ''; < } else { < //alert('IdeaOnE=' + ideaone); < document.getElementById('yourta').value=ideaone; < } < } else { < ideaone=maybeokay(document.getElementById('results').innerText.replace(/\/g, String.fromCharCode(10)).replace(/“/g,String.fromCharCode(34)).replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').replace('“', '"').trim()); < if ((maybeok(ideaone) + ' ').substring(0,1) != '"' && document.getElementById('myif').src.indexOf('added') != -1) { < //alert('Ideaone=' + ideaone); < document.getElementById('results').innerHTML=''; < document.getElementById('myif').src=document.getElementById('myif').src.replace('added', 'created'); < return ''; < } else { < //alert('IdeaONE=' + ideaone); < document.getElementById('yourta').value=ideaone; < } < } < numwords=document.getElementById('yourta').value.split(' ').length; < document.getElementById('yourta').style.cursor='pointer'; < document.body.style.cursor='pointer'; < } < } < < function nsgo() { < if (numkds < 0) { < numkds=-numkds; < } else { < setTimeout(nsgo, 1000); < numsecs++; < } < } < < function show() { < numkds=-numkds; < //alert('word count=' + document.getElementById('myta').value.split(' ').length + ' and character count=' + document.getElementById('myta').value.split('').length); < document.getElementById('wpm').value='' + parseFloat(eval(eval('' + document.getElementById('myta').value.split(' ').length) / eval(numsecs / 60.0)).toPrecision(1)) + ' words/minute'; < document.getElementById('cpm').value='' + parseFloat(eval(eval('' + document.getElementById('myta').value.split('').length) / eval(numsecs / 60.0)).toPrecision(1)) + ' characters/minute'; < if (document.getElementById('myta').value == document.getElementById('yourta').value) { < document.getElementById('accuracy').value='100.0% accuracy'; < } else { < var ourcchars=0; < for (var ii=0; ii <

Keyboard Typing Practice

--- > >

No Copy and Paste

217,225c78,79 <

Thanks to https://stackoverflow.com/questions/1226574/disable-pasting-text-into-html-form and https://www.goodreads.com/quotes

< <
Please type this ... ... Here ...
< < < <
< < --- >

Thanks to https://stackoverflow.com/questions/1226574/disable-pasting-text-into-html-form

>