Luhn算法 C#实现 信用卡校验
来源:互联网 发布:淘宝买的京东e卡 编辑:程序博客网 时间:2024/05/19 13:30
public static bool IsValidCreditCard(string cardNumber)
{
if(cardNumber.Length!=16)
{
throw new Exception("卡号不是16位");
}
int oddSum = 0;
int evenSum = 0;
List<char> list = cardNumber.ToCharArray().Reverse().ToList();
for (int i = 1; i < list.Count + 1; i++)
{
if (!char.IsDigit(list[i - 1]))
{
throw new Exception("卡号包含非法字符");
}
int item = (int)char.GetNumericValue(list[i - 1]);
if (i % 2 == 0)
{
//even index
int num = item * 2;
evenSum += num > 9 ? num.ToString().ToCharArray().Sum<char>(ch =>
{
return (int)char.GetNumericValue(ch);
}) : num;
}
else
{
//odd index
oddSum += item;
}
}
return (oddSum + evenSum) % 10 == 0;
}
{
if(cardNumber.Length!=16)
{
throw new Exception("卡号不是16位");
}
int oddSum = 0;
int evenSum = 0;
List<char> list = cardNumber.ToCharArray().Reverse().ToList();
for (int i = 1; i < list.Count + 1; i++)
{
if (!char.IsDigit(list[i - 1]))
{
throw new Exception("卡号包含非法字符");
}
int item = (int)char.GetNumericValue(list[i - 1]);
if (i % 2 == 0)
{
//even index
int num = item * 2;
evenSum += num > 9 ? num.ToString().ToCharArray().Sum<char>(ch =>
{
return (int)char.GetNumericValue(ch);
}) : num;
}
else
{
//odd index
oddSum += item;
}
}
return (oddSum + evenSum) % 10 == 0;
}
0 0
- Luhn算法 C#实现 信用卡校验
- Luhn算法信用卡号校验
- Luhn algorithm(附信用卡校验算法C语言实现)
- OJ刷题---信用卡号校验(Luhn算法)
- PHP中使用Luhn算法校验信用卡及借记卡卡号
- luhn校验算法(Java实现)
- 信用卡校验位算法THE LUHN MOD-10
- Luhn算法验证信用卡的合法性
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- 银行卡校验规则(Luhn算法)
- C语言实现Luhn 校验
- Java使用luhn校验算法实现银行卡号合法性校验&&获取银行卡号所属银行
- Android luhn算法 银行卡号校验
- java 框架日志自定输出
- 创建表空间
- mysql忘记密码
- 万能适配器CommonAdapter和ViewHolder
- Caffe学习笔记1-安装以及代码结构
- Luhn算法 C#实现 信用卡校验
- tornado curl_httpclient proxy
- linux 挂载
- bug和缺陷的区别
- windows中安装oracle11g和安装PLSQL Developer
- 解析json字符串:eval
- ios 7 statusbar 状态栏 跟随navigationbar的颜色而改变
- network中的IO同步,异步,阻塞和非阻塞
- SELinux简介