Winform 验证输入TextBox身份证号是否有效
2014-01-04 01:07
423 查看
private void btnView_Click(object sender, EventArgs e) { string id = txtID.Text.Trim(); int age = 0; int year = 0; if (id.Length == 15) { year = Convert.ToInt32(id.Substring(6, 2)) + 1900; //截取字符串id第6位第7位 } else if (id.Length == 18) { if(!this.CheckCardId(id)) //若CheckCardId返回值为false,提醒并return { MessageBox.Show("身份证号有误,请检查!"); return; } year = Convert.ToInt32(id.Substring(6, 4)); //截取字符串id第6位第7位 } else { MessageBox.Show("你输入的身份证号长度有误!"); return; } age = DateTime.Now.Year - year; //计算用户的年龄 if (age >= 18) { picGirls.Visible = true; } else { MessageBox.Show("你太小了,图片不宜查看!"); } } /// <summary> /// 校验身份证号,若正确则返回true,否则返回false /// </summary> /// <param name="id"></param> /// <returns></returns> private bool CheckCardId(string id) { string number17 = id.Substring(0, 17); string number18 = id.Substring(17); int[] wQuan = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; //加权因子数组 string checkWei = "10X98765432"; //校验码数组 int sum = 0; for (int i = 0; i < 17; i++) { sum = sum + Convert.ToInt32(number17[i].ToString()) * wQuan[i]; } int mod = sum % 11; //除以11取模 string result = checkWei[mod].ToString(); if(number18.Equals(result,StringComparison.OrdinalIgnoreCase)) //字符串比较,忽略大小写 { return true; } else { return false; } } private void txtID_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar < '0' || e.KeyChar > '9') { e.Handled = true; } //如果身份证的第18位输入的是x或X,则不阻止 if ((txtID.SelectionStart == 17) && (e.KeyChar == 'x' || e.KeyChar == 'X')) { e.Handled = false; } //空格键不阻止 if (e.KeyChar == 8) { e.Handled = false; } } private void txtID_TextChanged(object sender, EventArgs e) { picGirls.Visible = false; }
相关文章推荐
- Winform TextBox 验证输入的数字格式是否合法
- WinForm 中要求在textBox中输入的内容必须是日期格式yyyy-mm-dd,判断用户输入是否有效!
- WinForm 中要求在textBox中输入的内容必须是日期格式yyyy-mm-dd,判断用户输入是否有效!
- asp 验证输入网址是否有效并可以访问 与正则验证输入网址
- JavaScript - JS验证邮箱 身份证 VISA 卡输入是否正确|正则表达式
- java代码实现身份证第18位的计算和验证身份证号码是否是真实有效.
- [ASP.NET-VII] ASP.NET 使用验证控件(RegularExpressionValidator)验证输入(TextBox)中的输入是否合法
- 验证身份证是否有效
- java验证身份证号码是否有效源代码 wn25的头像 wn25 23 2015-01-04 20:09 6 基本信息 Java × 1 浏览
- C语言身份证信息查询系统(可验证输入身份证是否合法)【已会】
- asp 验证输入网址是否有效并可以访问 与正则验证输入网址
- 安卓下验证身份证号是否有效
- 验证传入的身份证号是否有效
- java验证身份证号码是否有效源代码
- winForm textBox的数字输入验证
- 在c#.net中,如何判断文本框中的值是否是数字?我想验证身份证输入是否正确。
- 验证textbox输入的是否是数字,包括小数
- C#验证身份证是否有效
- Winform之TextBox输入日期格式验证yyyy-mm-dd
- 验证TextBox控件中输入是否是两位小数,不是则自动更正