Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }