phpldapadmin/application/media/js/dojo-release-1.7.2/dojox/validate/creditCard.js
2013-03-19 15:55:33 +11:00

41 lines
1.1 KiB
JavaScript

//>>built
define("dojox/validate/creditCard",["dojo/_base/lang","./_base"],function(_1,_2){
_2._cardInfo={"mc":"5[1-5][0-9]{14}","ec":"5[1-5][0-9]{14}","vi":"4(?:[0-9]{12}|[0-9]{15})","ax":"3[47][0-9]{13}","dc":"3(?:0[0-5][0-9]{11}|[68][0-9]{12})","bl":"3(?:0[0-5][0-9]{11}|[68][0-9]{12})","di":"6011[0-9]{12}","jcb":"(?:3[0-9]{15}|(2131|1800)[0-9]{11})","er":"2(?:014|149)[0-9]{11}"};
_2.isValidCreditCard=function(_3,_4){
return ((_4.toLowerCase()=="er"||_2.isValidLuhn(_3))&&_2.isValidCreditCardNumber(_3,_4.toLowerCase()));
};
_2.isValidCreditCardNumber=function(_5,_6){
_5=String(_5).replace(/[- ]/g,"");
var _7=_2._cardInfo,_8=[];
if(_6){
var _9="^"+_7[_6.toLowerCase()]+"$";
return _9?!!_5.match(_9):false;
}
for(var p in _7){
if(_5.match("^"+_7[p]+"$")){
_8.push(p);
}
}
return _8.length?_8.join("|"):false;
};
_2.isValidCvv=function(_a,_b){
if(!_1.isString(_a)){
_a=String(_a);
}
var _c;
switch(_b.toLowerCase()){
case "mc":
case "ec":
case "vi":
case "di":
_c="###";
break;
case "ax":
_c="####";
break;
}
return !!_c&&_a.length&&_2.isNumberFormat(_a,{format:_c});
};
return _2;
});