root / trunk / web / dojo / dojox / validate / creditCard.js
History | View | Annotate | Download (1.43 KB)
1 |
/*
|
---|---|
2 |
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
3 |
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
4 |
see: http://dojotoolkit.org/license for details
|
5 |
*/
|
6 |
|
7 |
|
8 |
if(!dojo._hasResource["dojox.validate.creditCard"]){ |
9 |
dojo._hasResource["dojox.validate.creditCard"]=true; |
10 |
dojo.provide("dojox.validate.creditCard");
|
11 |
dojo.require("dojox.validate._base");
|
12 |
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}"}; |
13 |
dojox.validate.isValidCreditCard=function(_1,_2){ |
14 |
return ((_2.toLowerCase()=="er"||dojox.validate.isValidLuhn(_1))&&dojox.validate.isValidCreditCardNumber(_1,_2.toLowerCase())); |
15 |
}; |
16 |
dojox.validate.isValidCreditCardNumber=function(_3,_4){ |
17 |
_3=String(_3).replace(/[- ]/g,""); |
18 |
var _5=dojox.validate._cardInfo,_6=[];
|
19 |
if(_4){
|
20 |
var _7="^"+_5[_4.toLowerCase()]+"$"; |
21 |
return _7?!!_3.match(_7):false; |
22 |
} |
23 |
for(var p in _5){ |
24 |
if(_3.match("^"+_5[p]+"$")){ |
25 |
_6.push(p); |
26 |
} |
27 |
} |
28 |
return _6.length?_6.join("|"):false; |
29 |
}; |
30 |
dojox.validate.isValidCvv=function(_8,_9){ |
31 |
if(!dojo.isString(_8)){
|
32 |
_8=String(_8); |
33 |
} |
34 |
var _a;
|
35 |
switch(_9.toLowerCase()){
|
36 |
case "mc": |
37 |
case "ec": |
38 |
case "vi": |
39 |
case "di": |
40 |
_a="###";
|
41 |
break;
|
42 |
case "ax": |
43 |
_a="####";
|
44 |
break;
|
45 |
} |
46 |
return !!_a&&_8.length&&dojox.validate.isNumberFormat(_8,{format:_a}); |
47 |
}; |
48 |
} |