码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET 企业组织机构代码验证

时间:2015-12-14 15:55:24      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

/// <summary>
/// 组织机构代码验证
/// </summary>
/// <param name="arg"></param>
/// <returns></returns>
public static Boolean CheckCnCode(string arg)
{
int[] factor = { 3, 7, 9, 10, 5, 8, 4, 2 };//加权因子

if (!Regex.IsMatch(arg, "^[\\da-zA-Z]{8}-[\\d,x,X]$"))
{
return false;
}

char[] chs = arg.ToUpper().ToCharArray();//全转为大写,放入字符数组

//System.out.println(Arrays.toString(chs));

int sum = 0;

for (int i = 0; i < chs.Length - 2; i++)
{
char chValue = chs[i];

int a = 0;
if (chValue < 65)
{
a = chValue - 48;
}
else
{
a = chValue - 55;
}

//System.out.print(a + "--");
sum += factor[i] * a;
}//转换为数字

int checkNum = 11 - sum % 11;

char checkCh;

if (checkNum == 10)
{
checkCh = ‘X‘;
}
else if (checkNum == 11)
{
checkCh = (char)48;
}
else
{
checkCh = (char)(checkNum + 48);
}//计算验证码 转为 字符

return chs[9] == checkCh;

ASP.NET 企业组织机构代码验证

标签:

原文地址:http://www.cnblogs.com/itdaocaoren/p/5045067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!