App_Code/IDCardValid.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
//该源码下载自www.51aspx.com(51aspx.com)
/// <summary>
/// Summary description for IDCardValid
/// </summary>
public class IDCardValid
{
    public IDCardValid()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    /// <summary>
    /// 验证身份证号码
    /// </summary>
    /// <param name="Id">身份证号码</param>
    /// <returns>验证成功为True,否则为False</returns>
    public static bool CheckIDCard(string Id)
    {
        if (Id.Length == 18)
        {
            bool check = CheckIDCard18(Id);
            return check;
        }
        else if (Id.Length == 15)
        {
            bool check = CheckIDCard15(Id);
            return check;
        }
        else
        {
            return false;
        }
    }

    #region 身份证号码验证

    /// <summary>
    /// 验证15位身份证号
    /// </summary>
    /// <param name="Id">身份证号</param>
    /// <returns>验证成功为True,否则为False</returns>
    private static bool CheckIDCard18(string Id)
    {
        long n = 0;
        if (long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n) == false)
        {
            return false;//数字验证
        }
        string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
        if (address.IndexOf(Id.Remove(2)) == -1)
        {
            return false;//省份验证
        }
        string birth = Id.Substring(6, 8).Insert(6, "-").Insert(4, "-");
        DateTime time = new DateTime();
        if (DateTime.TryParse(birth, out time) == false)
        {
后面还有 46 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。