美文网首页
C# 身份证号验证

C# 身份证号验证

作者: QuinShuai | 来源:发表于2017-06-12 17:35 被阅读0次
private string _pattern = @"^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$";
private int[] _weight = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };        //十七位数字本体码权重
private string[] _validate = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" }; //对应校验码字符值

public bool CheckId(string id) {
    var sum = 0;
    for (var i = 0; i < 17; i++) {
        sum = sum + int.Parse(id[i].ToString()) * _weight[i];
    }
    return _validate[sum % 11] == id[17].ToString();
}

相关文章

网友评论

      本文标题:C# 身份证号验证

      本文链接:https://www.haomeiwen.com/subject/asalqxtx.html