summaryrefslogtreecommitdiff
path: root/includes/js/dojox/validate/creditCard.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/validate/creditCard.js')
-rw-r--r--includes/js/dojox/validate/creditCard.js92
1 files changed, 0 insertions, 92 deletions
diff --git a/includes/js/dojox/validate/creditCard.js b/includes/js/dojox/validate/creditCard.js
deleted file mode 100644
index 903aab1..0000000
--- a/includes/js/dojox/validate/creditCard.js
+++ /dev/null
@@ -1,92 +0,0 @@
-if(!dojo._hasResource["dojox.validate.creditCard"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.validate.creditCard"] = true;
-dojo.provide("dojox.validate.creditCard");
-
-dojo.require("dojox.validate._base");
-
-/*
- Validates Credit Cards using account number rules in conjunction with the Luhn algorigthm
-
- */
-
-dojox.validate.isValidCreditCard = function(/*String|Int*/value, /*String*/ccType){
- //Summary:
- // checks if ccType matches the # scheme in value, and if Luhn checksum is accurate (unless its an Enroute card, the checkSum is skipped)
-
- //Value: Boolean
- return ((ccType.toLowerCase() == 'er' || dojox.validate.isValidLuhn(value)) &&
- dojox.validate.isValidCreditCardNumber(value,ccType.toLowerCase())); //Boolean
-}
-
-dojox.validate.isValidCreditCardNumber = function(/*String|Int*/value,/*String?*/ccType){
- // summary:
- // checks if value matches the pattern for that card or any card types if none is specified
- //
- // value: Boolean
- // CC #, white spaces and dashes are ignored
- //
- // ccType: String?
- // one of the values in cardinfo -- if Omitted it it returns a | delimited string of matching card types, or false if no matches found
-
- value = String(value).replace(/[- ]/g,''); //ignore dashes and whitespaces
-
- /* FIXME: not sure on all the abbreviations for credit cards,below is what each stands for atleast to my knowledge
- mc: Mastercard
- ec: Eurocard
- vi: Visa
- ax: American Express
- dc: Diners Club
- bl: Carte Blanch
- di: Discover
- jcb: JCB
- er: Enroute
- */
- var 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}'
- };
- if(ccType){
- var expr = cardinfo[ccType.toLowerCase()];
- return expr ? !!(value.match(cardinfo[ccType.toLowerCase()])) : false; // boolean
- }
- var results=[];
- for(var p in cardinfo){
- if(value.match('^'+cardinfo[p]+'$')){
- results.push(p);
- }
- }
- return results.length ? results.join('|') : false; // string | boolean
-}
-
-dojox.validate.isValidCvv = function(/*String|Int*/value, /*String*/ccType) {
- //Summary:
- // returns true if the security code (CCV) matches the correct format for supplied ccType
-
- //Value: Boolean
-
- if(typeof value!='string'){
- value=String(value);
- }
- var format;
- switch (ccType.toLowerCase()){
- case 'mc':
- case 'ec':
- case 'vi':
- case 'di':
- format = '###';
- break;
- case 'ax':
- format = '####';
- break;
- default:
- return false; //Boolean
- }
- var flags = {format:format};
- //FIXME? Why does isNumberFormat take an object for flags when its only parameter is either a string or an array inside the object?
- //FIXME: um... just check value.length?
- return (value.length == format.length && dojox.validate.isNumberFormat(value, flags)); //Boolean
-}
-
-}