当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 对“学号”、“身份证”的数字分析

ASP.NET
Script:WINDOWS Script 枚举运行中进程
使用Flex结合Webservice完成域名查询
VSTS Team System 总算装好了。
用于部署数据库的 数据库初始化工具 xzSQLDeploy Tools V1.0 (for SQLServer) f...
一个将阿拉伯数字转换成中文大写的最简单算法
SCRIPT:使用Windows Script 关闭和打开指定程序
Script:使用WINDOWS脚本访问WEB SERVICES
asp.net连接Access数据库
VB中IIS Application发布可能出现的问题
VB打包后的安装问题
Nhibernate的数据分页技术(续)
使用API函数复制文件,可显示进度。
VB打包技巧
VB.NET实现DirectSound9 (9) 实现示波器
VB.NET 实现DirectSound9 (10) 均衡器
[水晶报表部署系列之一]轻松搞定水晶报表9.2打包
DataGrid 中双向排序的一种办法
利用System.EventHandler来实现两个窗体间的事件调用
多线程应用程序中调用窗体的一点心得
Smart Client之旅一:用B/S方式运行Exe应用程序

ASP.NET 中的 对“学号”、“身份证”的数字分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 122 ::
收藏到网摘: n/a

问题的提出:
在现代社会中,一个人总是离不开数字。人在社会上总要有一个身份证号码,学生在学校里读书一定会有一个学号,而且这些号码不都是一些无意义的数字。我写的这个程序是用来分析这些数字,并把其中有意义的意思表达出来。

编程环境:
VS.NET

实现技术:
ASP.NET

关键:
String.Substring(Int32,Int32)方法的运用,Literal控件的使用,switch语句的使用。

正文:
在Web窗体上,放上一个Label控件,一个Literal控件,一个TextBox控件,一个Button控件。设置Label控件的Text属性为“您的学号:”,Literal控件的Visible属性设置为“False”。我主要是对Button控件的Click()事件进行编码。当点击一下按钮后,对输入的数字进行分析,然后把分析的内容用Literal控件显示出来。

Button控件的Click()事件:
stringstudentNo=txtNo.Text;//将学号赋给studentNo字符串

if(!studentInfo.Visible)
{
studentInfo.Visible=true;//如果Literal控件是不可见的,则显示它.
}

try
{
//取子串操作
stringstrStartYear=studentNo.Substring(0,2);//入学年份
stringstrTotalYears=studentNo.Substring(2,1);//学制
stringstrSchool=studentNo.Substring(3,2);//学院
stringstrClass=studentNo.Substring(5,1);//班级
stringstrNumber=studentNo.Substring(6,2);//号码

//将数字跟文字对应起来
//内容纯属虚构
switch(strSchool)
{
case"01":
strSchool="文学院";
break;
case"02":
strSchool="理学院";
break;
case"03":
strSchool="工学院";
break;
case"04":
strSchool="科技学院";
break;
case"05":
strSchool="传播与艺术学院";
break;
case"06":
strSchool="商学院";
break;
case"07":
strSchool="法学院";
break;
case"08":
strSchool="职教学院";
break;
case"09":
strSchool="建工学院";
break;
case"10":
strSchool="信息学院";
break;
default:
strSchool="子虚乌有";
break;

}

studentInfo.Text="您于"+strStartYear+"年入学"+",所选专业是"+strTotalYears+"年制的。"+
"您现在在"+strSchool+"学院"+strClass+"班学习"+",您的号码是:"+strNumber+"。";
}
catch
{
Response.Write("取子串操作越界!");
}
finally
{
}

注:这里的学号是8位的。

举例:
Web应用程序运行后,在文本框内输入:02408122。看看结果是什么?:)

效果图:


对程序的扩展:
为了禁止输入错误的内容,可以添加一个RegularExpressionValidator和一个ValidationSummary控件,正则表达式为“\d{8}”,当输入的不是8位数字,则会在页面上显示出错信息。
摘要:
对身份证号码的分析同对学号的分析类似。

正文:
这里认为身份证号是18位的。

在页面上添加一个Label控件,一个TextBox控件,一个Button控件,一个Literal控件。Label控件的Text属性设为“身份证号:”,Literal控件将显示身份证号里的信息。关键还是在Button控件的Click()事件中。

Button控件的Click()事件:
stringstrID=txtID.Text;

if(!txtID.Visible)
{
txtID.Visible=true;
}

try
{
stringstrYear=strID.Substring(6,4);//年
stringstrMonth=strID.Substring(10,2);//月
stringstrDay=strID.Substring(12,2);//日

Literal1.Text="您的生日是:"+strYear+"年"+strMonth+"月"+strDay+"号";
}
catch
{
Response.Write("程序有错误!");
}
finally
{
}
显示效果图: