Credit Card Validation

function isValidCreditCard(type, ccnum)
{
  var re = /\\/; 

  switch (type) {
            case 'AmericanExpress': re =/^[34|37][0-9]{14}$/;
                break;
            case 'MasterCard': re =/^[5][1-5][0-9]{14}$/;
                break;
            case 'Visa': re =/^[4]([0-9]{15}$|[0-9]{12}$)/;
                break;
            case 'Discover': re =  /^6011-?d{4}-?d{4}-?d{4}$/;
                break;
        }

   if(re.length<=0)
       return false;
   if (!re.test(ccnum))
       return false;
    ccnum = ccnum.split("-").join("");
    var checksum = 0;
    for (j = 0; j < ccnum.length; j++) {
        positionNum = parseInt(ccnum.charAt(ccnum.length - 1 - j));
        checksum = checksum + ((positionNum * (j % 2 + 1) - 1) % 9 + 1);
    }
    if ((checksum % 10) == 0)
    {
        return true;
    }
    else
        return false;
}


posted @ 2010-12-02 18:47  码码浒浒  阅读(379)  评论(1编辑  收藏  举报