         case discover
         case dinersClub
         case jcb
+        case maestro
+        case rupay
     }
     
     public enum CardError: Error {
         case unsupported
         case invalid
     }
-    
     fileprivate class func regularExpression(for cardType: CardType) -> String {
         switch cardType {
         case .amex:

            self.init(rawValue: 4)
        case "jcb":
            self.init(rawValue: 5)
        default:
            return nil
        }

            return "^5[1-5][0-9]{5,}$";
        case .visa:
            return "^4[0-9]{6,}$";
        case .maestro:
            return "^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$";
        case .rupay:
            return "^6[0-9]{15}$";
            
        }
    }
    fileprivate class func suggestionRegularExpression(for cardType: CardType) -> String {
        switch cardType {
        case .amex:
            return "^3[47][0-9]+$";
        case .dinersClub:
            return "^3(?:0[0-5]|[68][0-9])[0-9]+$";
        case .discover:
            return "^6(?:011|5[0-9]{2})[0-9]+$";
        case .jcb:
            return "^(?:2131|1800|35[0-9]{3})[0-9]+$";
        case .mastercard:
            return "^5[1-5][0-9]+$";
        case .visa:
            return "^4[0-9]+$";
        case .maestro:
            return "^(5018|5020|5038|6304|6759|6761|6763)[0-9]+$";
        case .rupay:
            return "^6[0-9]+$";
            
        }
    }
    
