Prime Time
Write a function to take the num parameter and return true if it is a prime number or false if it composite.
by Hugh Chapman
HTML
<form id="prime">
<input id="candidate" name="candidate" type="text" value=""/>
<input type='submit' name='Submit' value="Submit"/>
</form>
<div id="output"></div>
CSS
#output { margin-top: 20px;}
JavaScript
var element = window.document.getElementById('prime');
var output = window.document.getElementById('output');
function primeTime(e) {
e.preventDefault();
var selector = '#' +e.currentTarget.id;
var num = parseInt(document.querySelector(selector).candidate.value,0);
var isPrime = checkPrime(num);
if (output.textContent) {
output.textContent = isPrime;
} else {
output.innerText = isPrime; // ie < 9
}
console.log('done.');
}
function checkPrime(num) {
if (num === 1) return false; // 1 is never prime
if ((num % 2 === 0) && num !== 2) return false; // if its even and not 2 its not prime
var min = 3;
var max = Math.ceil(Math.sqrt(num));
for (var i = min; i < max; i++) {
if(num % i === 0) return false;
}
return true;
}
element.addEventListener('submit', primeTime, false);