首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

新手来了 问几个小问题…

2013-01-04 
新手来了 问几个问题……using Systemusing System.Collections.Genericusing System.ComponentModelusin

新手来了 问几个问题……

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 身份证验证
{
    public partial class 隐藏文件查看 : Form
    {
        public 隐藏文件查看()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str1 = textBox1.Text;
            char[] chars = str1.ToCharArray();
            for (int i = 0; i < str1.Length; i++)
            {
                //int i3;
                //if (!i3==Convert.ToInt32(chars[i]))
                //{
                //    MessageBox.Show("身份证不能含有字母");
                //    return;
                //}    一个个扫描我输入的全是数字,这段代码要怎么写的
                if (str1.Length != 18)//身份证为的位数要为18位
                {
                    MessageBox.Show("请输入正确的身份证!");
                    return;
                }
                string str2 = str1.Substring(6, 4);
                int i1;
                if (!int.TryParse(str2, out i1))//截取的四位不是数字
                {
                    MessageBox.Show("你的身份证不能正常识别");
                    return;
                }
                int i2 = DateTime.Now.Year;
                if (i2 - i1 >= 18)//年龄要大于18岁


                {
                    pictureBox1.Visible = true;
                }
                else
                {
                    pictureBox1.Visible = false;
                    MessageBox.Show("对不起,还没有到十八岁!");
                    return;
                }
            }
        }
    }
}


[解决办法]
都不知道你要问什么问题。。额。表达有问题,
[解决办法]
if (IsDigit(chars[i])==false)
{
   不能输入字母
}
[解决办法]
用个正则就可以了
if(Regex.IsMatch(身份证,@"^(^\d{15}$
[解决办法]
^\d{18}$
[解决办法]
^\d{17}(\d
[解决办法]
X
[解决办法]
x))$")) 
{
    MessageBox.Show("请输入正确的身份证号码);
    return; 
}
各个地区身份证号码也是有区别的、
自己百度下身份证号码正则表达式
[解决办法]
数字的验证:
Regex.IsMatch(输入,"[0-9]+")
身份证的验证就需要的动态的生成了。
因为你不同的地区,不同的年龄,不同的姓别,都会生成匹配的正则表达的结果,通用的你可以百度一下。

热点排行