C#編程:Regex驗證身份證校正碼-10

來源:互聯網
上載者:User

標籤:end   verify   init   thread   event   正則   表達   bre   string   

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Text.RegularExpressions; namespace IDCard{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }         private void button1_Click(object sender, EventArgs e)        {             //參考:http://baike.baidu.com/item/%E8%BA%AB%E4%BB%BD%E8%AF%81%E6%A0%A1%E9%AA%8C%E7%A0%81             //校正長度和數字合法性            string regular = @"\d{17}[\d|X]{1}";            bool ret = false;            Regex regex = new Regex(regular);            ret = regex.IsMatch(textBox1.Text);             //校正位合法性            if (ret == true)            {                int sum = 0;                int[] a = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };                string str = textBox1.Text;                           for (int i = 0; i < 17; i++)                {                    sum += a[i] * (int)(str[i]-48);//0的assii碼為48                }                int mod = sum % 11;                int[] b = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };                char[] c = { ‘1‘, ‘0‘, ‘X‘, ‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘ };                char verify=‘0‘;                for (int i=0; i<11 ;i++)                {                    if (mod == b[i])                    {                        verify = c[i];                        break;                    }                }                if ((char)str[17] == verify)                {                    ret = true;                }                else                {                    ret = false;                }            }                                    MessageBox.Show(ret.ToString());        }         private void Form1_Load(object sender, EventArgs e)        {            textBox1.Text = "34052419800101001X";        }    }}

 

C#編程:Regex驗證身份證校正碼-10

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.