VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之提供一个中国身份证号码判断的类

  • 2019-04-13 17:27 来源:未知

本文章的目的是实现一个用于身份证号码判断是否有效的功能

 

首先,创建一个身份证基类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// <summary>
/// 中国大陆身份证
/// </summary>
public abstract class ChineseIdBase
{
    /// <summary>
    /// 验证15位身份证号
    /// </summary>
    /// <param name="id">身份证号</param>
    /// <returns></returns>
    public abstract bool IsGrant(string id);
 
    /// <summary>
    /// 数字验证
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    protected abstract bool CheckNumber(string id);
 
    /// <summary>
    /// 省市区区域校验,身份前2位拿来判断
    /// </summary>
    /// <param name="code">比对码</param>
    protected virtual bool CheckAddress(string id)
    {
        string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
        if (address.IndexOf(id.Remove(2)) == -1)
        {
            return false;
        }
 
        return true;
    }
 
    /// <summary>
    /// 针对15位身份证校验生日。取身份证上的第7-14位字符来判断
    /// </summary>
    /// <param name="id">身份证号</param>
    /// <returns></returns>
    protected abstract bool CheckBirth(string id);
}