0%

写个简单的18禁图片查看器

简介

这是一个用C# Winform 写的简易的成人图片查看器,通过输入你的身份证号码来判断你是否年满18岁,如果18岁以上,你则允许查看图片,否则会提示你”未成年”,不能查看.

原理

就是通过截取身份证18位号码中的第7到第10位 那是每个公民的出生年份,然后与当前系统的年份相比较,如果差距大于18,说明你成年了,小于18则未成年.

界面设计

img

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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岁
}

运行效果测试

开始运行,当前图片为隐藏.

img

随便输入一串号码数字和字母(数量不足18位), 弹出提示 身份证号码不足18位!

img

随便输入一串数字(仅数字且不足18位),弹出提示 身份证号码不足18位!

img

输入准确的18位身份证号码,弹出提示 请查看,同时图片为可见.

img

img

如果你未满18岁,弹出提示:”你未成年,不允许看图片.” 图片为不可见!

img

呵呵 一个简单的18禁 图片查看器就写好了! ~~~~~:)

转自:https://www.cnblogs.com/longwu/archive/2011/09/22/2185327.html