Validating Card Numbers by Brand with C#
January 18, 2016
A basic method using regex to validate a card number according to its brand.
private bool ValidateCard(string cardNumber, string brand)
{
string number = cardNumber.Replace("-", "");
switch (brand.ToUpper())
{
case "VISA":
if (Regex.IsMatch(number, "^(4)"))
return number.Length == 13 || number.Length == 16;
break;
case "MASTERCARD":
if (Regex.IsMatch(number, "^(51|52|53|54|55)"))
return number.Length == 16;
break;
case "AMEX":
if (Regex.IsMatch(number, "^(34|37)"))
return number.Length == 15;
break;
case "DINERS":
if (Regex.IsMatch(number, "^(300|301|302|303|304|305|36|38)"))
return number.Length == 14;
break;
}
return false;
}
studiesdotnet