Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum CardType
- {
- Unset= -1,
- Unknown = 0,
- [Description("American Express")]
- [Decoration(@"^3[47][0-9]{13}$")]
- AmexCard = 1,
- [Description("BCGlobal")]
- [Decoration(@"^(6541|6556)[0-9]{12}$")]
- BCGlobal,
- [Description("Carte Blanche")]
- [Decoration(@"^389[0-9]{11}$")]
- CarteBlancheCard,
- [Description("Diners Club")]
- [Decoration(@"^3(?:0[0-5]|[68][0-9])[0-9]{11}$")]
- DinersClub,
- [Description("Discover")]
- [Decoration(@"^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$")]
- Discover,
- [Description("Insta Payment")]
- [Decoration(@"^63[7-9][0-9]{13}$")]
- InstaPayment,
- [Description("JCB")]
- [Decoration(@"^(?:2131|1800|35\d{3})\d{11}$")]
- JCB,
- [Description("Korean Local")]
- [Decoration(@"^9[0-9]{15}$")]
- KoreanLocalCard,
- [Description("Laser")]
- [Decoration(@"^(6304|6706|6709|6771)[0-9]{12,15}$")]
- Laser,
- [Description("Maestro")]
- [Decoration(@"^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$")]
- Maestro,
- [Description("Mastercard")]
- [Decoration(@" ^5[1-5][0-9]{14}$")]
- Mastercard,
- [Description("Mastercard")]
- [Decoration(@"^(?:5[1-5][0-9]\d{1}|222[1-9]|2[3-6][0-9]\d{1}|27[01][0-9]|2720)([\ \-]?)\d{4}\1\d{4}\1\d{4}$")]
- MastercardExtended2016,
- [Description("Solo")]
- [Decoration(@"^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$")]
- Solo,
- [Description("Switch")]
- [Decoration(@"^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$")]
- Switch,
- [Description("Union Pay")]
- [Decoration(@"^(62[0-9]{14,17})$")]
- UnionPay,
- [Description("Visa")]
- [Decoration(@"^4[0-9]{12}(?:[0-9]{3})?$")]
- VisaCard,
- [Description("Visa Master Card")]
- [Decoration(@"^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$")]
- VisaMasterCard
- }
- public class DecorationAttribute:Attribute
- {
- public object[] names { get; set; }
- public DecorationAttribute(params object[] names)
- {
- this.names = names;
- }
- public static object[] Get<TEnum>(TEnum value)
- {
- FieldInfo fi = value.GetType().GetRuntimeField(value.ToString());
- if (fi != null)
- {
- DecorationAttribute[] attributes = (DecorationAttribute[])fi.GetCustomAttributes(typeof(DecorationAttribute), false);
- if ((attributes != null) && (attributes.Length > 0)) return attributes[0].names;
- }
- return new object[] { value.ToString() };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement