A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。

这道题只是实现简单的判断身份证是否大于18岁就显示图片,不大于18就提示太小。

还是实现功能和苏老师讲的那样功能强大的,要判断是否为正确的身份证号码,输入的时候输入字母就不让输入,等等一系列的功能?






评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

8 个回复

倒序浏览
本帖最后由 许庭洲 于 2013-6-15 18:49 编辑

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 calss Form1 : Form
      {
            public Form1()
            {
                   InitialzeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                       string 身份证号 = textBox1.Text;
                       //检验是否是合法的身份证号,不考虑X
                       //131226198105223452
                       pictureBox1.Visible = false;//先将图片隐藏
                       string strYear = 身份证号.Substring(6,4);
                       int year = Convert.ToInt32(strYear);
                       if(DateTime.Now.Year - year > 18)
                       {
                              pictureBox1.Visible = true;//年龄大于18岁,条件成立,图片显示
                       }

            }
      }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

回复 使用道具 举报
我就是 简单的判断一下是不是大于18岁,基础题最后是9.5分
回复 使用道具 举报
0 0lz,这个是入学试题?我记得基础题里面有这个,我是有判断身份证的合法性,基础得10分
回复 使用道具 举报
本帖最后由 李奔 于 2013-6-15 20:28 编辑
  1.             Console.WriteLine("请输入身份证号码:");
  2.             String str = txtCard.Text;
  3.             //身份证号码逐个验证不好实现,可以使用正则表达式验证,省略
  4.             int year = Convert.ToInt32(str.Substring(6, 4));
  5.             int age = System.DateTime.Now.Year - year;
  6.             if (age > 18)
  7.             {
  8.                 this.pictureBox1.Visible = true;
  9.             }
  10.             else
  11.             {
  12.                 MessageBox.Show("年龄太小,少儿不宜!");
  13.             }
复制代码

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
不知道噢   不过如果知道要判断身份证正确性的话 还是判断下吧    毕竟是自己学过的   再做一下巩固一下也好   
我是这么觉得的   !!!
回复 使用道具 举报
y96352 中级黑马 2013-6-16 06:57:18
7#
namespace test_10
{//页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int d,f,g, l;
            string a = textBox1.Text;
            for (int i =0 ;i<a.Length -2;i++)//确认身份证 是否合法
    {
        string b = a.Substring(i, 1);
            if (int .TryParse (b,out g))
            {
            }
                else {
               

                MessageBox .Show ("请输入正确的身份证号");

            }
    }
            if (int.TryParse(a.Substring(a.Length - 2, 1), out l))
            {
            }
            else
            {
                if (a.Substring(a.Length - 2, 1) == "X")
                {
                }
                else
                { MessageBox.Show("请输入正确的身份证号"); }
            }
            if (a.Length == 18 || a.Length == 15)//判断是不是15或18个能转换成数字的字符组成的
            {
               
            }
            else
            {
                Console.WriteLine("请输入正确的身份证号");
            }
            
                string c = a.Substring(6, 4);
                d = Convert.ToInt32(c);
                f = DateTime.Now.Year;
                if (f - d > 18)//判断是否成年
                {
                    pictureBox1.Visible = true;
                }
                else
                {
                    MessageBox.Show("年龄太小");
                    pictureBox1.Visible = false;
                }

               


回复 使用道具 举报
string year=textBox1.TEXT.Substring(6,4);  //获取省份证上的出生年份
回复 使用道具 举报
string NewStr = Str1.Substring(0, Length);                 NewStr = NewStr + "...";                 return NewStr;                 string year = TextBox.Text.Substring(6, 4);                 int y = Convert.ToInt32(year);                 if ((DateTime.Now.Year - y) > 18)                 {                         PictureBox.Visible = true;                 }                 else                 {                         MessageBox.Show("太小!");                 }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马