41 lines
1.1 KiB
JavaScript
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;
|
|
});
|