function toBinary( n ) {
n = n.replace(/[^0-9]/,'');
if( !n || n == 0 ) return 0;
//calculate the number of bits required to store the number
var bits = Math.floor( Math.log( Math.pow( 2 , Math.ceil( Math.log( (Number( n ) +1 ) ) / Math.log( 2 ) ) ) ) / Math.log( 2 ) );
var bitArray = new Array();
var bitVal;
var i;
for( i = 0 ; i < bits ; i ++ ) {
bitArray[i] = 0;
//calculate the max value of this bit, make sure it starts as low as possible
bitVal = Math.pow(2,bits-i-1);
if( n >= bitVal) {
bitArray[i] = 1;
n = n - bitVal;
}
}
return bitArray.join("");
}
Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/0GaRyFwDC6I/12185