Prime Number Function

Checks for prime numbers efficiently and with regard to several gotchas (such as anything less than 2 not being prime)

by jdhines

JavaScript

function isPrime(a) {
  if(typeof a !== 'number' || !Number.isInteger(a))   {
    return false;
  }
  
  if(a === 2) {return true;}
  
  //even numbers (except for 2 itself)
  //and anything <= 1 is not prime
  if(a % 2 === 0 || a <= 1) {
    return false;
  }
  
  for(var i = 3; i <= Math.sqrt(a); i+=2) {
    if(a % i === 0) {
      return false;
    }
    i--;
  }
  return true;
}

var num = 2;
if(isPrime(num)){
    alert(num + ' is a prime number.');
} else {
    alert(num + ' is not a prime number.');
}