/// <summary> /// 获取银行卡类型 /// </summary> /// <param name="cardNumber">银行卡号</param> /// <returns></returns> public CardType GetCardType(string cardNumber) { if (DebitCardRules.Any(debitCardRule => Regex.IsMatch(cardNumber, debitCardRule))) { return(CardType.DebitCard); } if (CreditCardRules.Any(creditCardRule => Regex.IsMatch(cardNumber, creditCardRule))) { return(CardType.CreditCard); } if (QuasiCreditCardRules.Any(quasiCreditCardRule => Regex.IsMatch(cardNumber, quasiCreditCardRule))) { return(CardType.QuasiCreditCard); } if (PrepaidCardRules.Any(prepaidCardRule => Regex.IsMatch(cardNumber, prepaidCardRule))) { return(CardType.PrepaidCard); } return(CardType.Unknown); }
/// <summary> /// 添加规则 /// </summary> /// <param name="cardType">银行卡类型</param> /// <param name="rule">银行卡正则表达式规则</param> /// <returns></returns> public CardRule AddRule(CardType cardType, string rule) { AllRules.Add(rule); switch (cardType) { case CardType.DebitCard: DebitCardRules.Add(rule); break; case CardType.CreditCard: CreditCardRules.Add(rule); break; case CardType.QuasiCreditCard: QuasiCreditCardRules.Add(rule); break; case CardType.PrepaidCard: PrepaidCardRules.Add(rule); break; } return(this); }