This was extracted from http://letsfreckle.com.
You need to be using a recent-ish version of the Prototype JavaScript framework.
CreditCard.validate('1111 2222 3333 4444') -> true/false the given string is automatically stripped of whitespace, so it can be plugged directly into form validations
The following things are tested:
Card identification via CreditCard.type(string) -> "Visa", "MasterCard", etc. Also, CreditCard.isVisa(string) -> true/false (works for all cards given in CARDS)
Be sure to adapt the CARDS array to the credit cards you accept.