【C#】身份证本地验证

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Text.RegularExpressions;
using UnityEngine.UI;
public class RealNameAuthentication : MonoBehaviour
{

    // 输入全部身份证号码,计算出出生年月日以及性别和年龄
    private void ParseIdCard(string val)
    {
        string birthdayValue = "19931221";
        string sexId = "";
        string sexText = "";

        if (15 == val.Length) //15位身份证号码
        {
            birthdayValue = val[6].ToString() + val[7].ToString();
            if (int.Parse(birthdayValue) < 10)
            {
                birthdayValue = "20" + birthdayValue;
            }
            else
            {
                birthdayValue = "19" + birthdayValue;
            }
            birthdayValue = birthdayValue + '-' + val[8] + val[9] + '-' + val[10] + val[11];




            if (int.Parse(((val[14] / 2) * 2).ToString()) != val[14])
            {
                sexId = "1";
                sexText = "男";
            }
            else
            {
                sexId = "2";
                sexText = "女";
            }
        }
        if (18 == val.Length)
        { //18位身份证号码
            birthdayValue = val[6].ToString() + val[7] + val[8] + val[9] + '-' + val[10] + val[11] + '-' + val[12] + val[13];
            if (int.Parse((val[16] / 2).ToString()) * 2 != val[16])
            {
                sexId = "1";
                sexText = "男";
            }
            else
            {
                sexId = "2";
                sexText = "女";
            }
        }
        //年龄
        birthdayValue = birthdayValue.Replace("-", "/");
        string[] YMD = birthdayValue.Split('/');
        DateTime dt1 = new DateTime(int.Parse(YMD[0]), int.Parse(YMD[1]), int.Parse(YMD[2]));
        DateTime dt2 = new DateTime();
        int age = dt2.Year - dt1.Year;
        var m = dt2.Month - dt1.Month;
        if (m < 0)
            age--;

        // 返回 2017/12/21  "1"  "男"  29
        //return new Array(birthdayValue, sexId, sexText, age);
    }


    // 验证身份证号
    private string CheckIdcard(string idcard)
    {
        idcard = idcard.ToUpper();
        string[] Errors = new string[] { "校验成功!", "身份证号码位数不对!",
                                         "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!",
                                         "身份证
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zok93

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值