| /* |
| Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. |
| Available via Academic Free License >= 2.1 OR the modified BSD license. |
| see: http://dojotoolkit.org/license for details |
| */ |
| |
| |
| if(!dojo._hasResource["dojox.validate.creditCard"]){ |
| dojo._hasResource["dojox.validate.creditCard"]=true; |
| dojo.provide("dojox.validate.creditCard"); |
| dojo.require("dojox.validate._base"); |
| dojox.validate._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}"}; |
| dojox.validate.isValidCreditCard=function(_1,_2){ |
| return ((_2.toLowerCase()=="er"||dojox.validate.isValidLuhn(_1))&&dojox.validate.isValidCreditCardNumber(_1,_2.toLowerCase())); |
| }; |
| dojox.validate.isValidCreditCardNumber=function(_3,_4){ |
| _3=String(_3).replace(/[- ]/g,""); |
| var _5=dojox.validate._cardInfo,_6=[]; |
| if(_4){ |
| var _7=_5[_4.toLowerCase()]; |
| return _7?!!_3.match(_7):false; |
| } |
| for(var p in _5){ |
| if(_3.match("^"+_5[p]+"$")){ |
| _6.push(p); |
| } |
| } |
| return _6.length?_6.join("|"):false; |
| }; |
| dojox.validate.isValidCvv=function(_9,_a){ |
| if(!dojo.isString(_9)){ |
| _9=String(_9); |
| } |
| var _b; |
| switch(_a.toLowerCase()){ |
| case "mc": |
| case "ec": |
| case "vi": |
| case "di": |
| _b="###"; |
| break; |
| case "ax": |
| _b="####"; |
| break; |
| } |
| return !!_b&&_9.length&&dojox.validate.isNumberFormat(_9,{format:_b}); |
| }; |
| } |