简介
这是一个用C# Winform 写的简易的成人图片查看器,通过输入你的身份证号码来判断你是否年满18岁,如果18岁以上,你则允许查看图片,否则会提示你"未成年",不能查看.
原理
就是通过截取身份证18位号码中的第7到第10位 那是每个公民的出生年份,然后与当前系统的年份相比较,如果差距大于18,说明你成年了,小于18则未成年.
界面设计
代码
public void Check18OrNot(string input) { //首先判断身份证是否为18位 //如果身份证ID不等于18位,则弹出提示 if (input.Length != 18) { MessageBox.Show("身份证必须为长度为18位的整数(可包含字母)!"); //弹出提示,同时,美女图片的可看性为false,即不能查看 pbGirl.Visible = false; return; } else //如果为18位长度,则进行截取其中的年份字符 { //截取里面的出生年份 //比如 361855199308128866 //从第7个数开始(索引序号为6) 截取4位数 string idYear = input.Substring(6, 4); //获取当前系统年份并减去身份证中的年份 //如果小于18,说明你未成年,不能看 if (DateTime.Now.Year - int.Parse(idYear) < 18) { MessageBox.Show("对不起,你未成年,不能查看!"); //图片的可见性为false pbGirl.Visible = false; return; } else { //如果通过了,则弹出提示,可以查看. MessageBox.Show("请查看!"); //图片可见性为true pbGirl.Visible = true; } } } private void btnCheck_Click(object sender, EventArgs e) { //获取文本框中输入的身份证ID string idNumber = txtIdNumber.Text.Trim(); Check18OrNot(idNumber); //检查用户是否满18岁 }
运行效果测试
开始运行,当前图片为隐藏.
随便输入一串号码数字和字母(数量不足18位), 弹出提示 身份证号码不足18位!
随便输入一串数字(仅数字且不足18位),弹出提示 身份证号码不足18位!
输入准确的18位身份证号码,弹出提示 请查看,同时图片为可见.
如果你未满18岁,弹出提示:"你未成年,不允许看图片." 图片为不可见!
呵呵 一个简单的18禁 图片查看器就写好了! ~~~~~:)