function isCreditCardNumValid(num) 
{
	// remove non-numerics
	var v = "0123456789";
	var w = "";
	for (i=0; i < num.length; i++) 
	{
		x = num.charAt(i);
		if (v.indexOf(x,0) != -1)
		{
			w += x;
		}
	}
	// validate number
	j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7)
	{
		return false;
	}
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;
	for (i=0; i<k; i++) 
	{
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}
