实验二 字符串与正则表达式
(二)
实验目的:
1、掌握正则表达式的使用 实验内容:
1、调试课本实例。
2、完成实验指导(
3、正则表达式)
3、编写一个控制台应用程序,找出字符串“My friend Bill will pay the bill”中,以“ill”结尾的单词,并显示出匹配的位置。
4、处理一个单位的电话列表,取出其中的姓名和电话号码,并且将它们打印出来,其中电话列表中的每一条记录的形式如下: Dr.David Jone,Ophthalmology,x2441 Ms.Cindy Harriman,Registry,x6231 Mr.Chester Addams,Mortuary,x6231 Dr.Hawkeye Pierce,Surgery,x0986 „„
提取出其中的姓名和分机的结果如下所示: 2441
Jone
5、如右图,设计一个Windows窗体用于填写个人资料,出生日期自动从身份证号码中提取,在提交时检查以下内容:(可根据自己的能力选择以下一项或多项) (常用的正则表达式:http://wenku.baidu.com/)
检查用户名是否由6-18个字符组成,组成用户名的字符只能是英文大小写字母、数字、下划线、汉字; 检查真实姓名是否由2-4个汉字组成;
密码和确认密码是否一致,是否符合强密码规定;
强密码应该具有如下特征: 强密码长度至少有 8 个字符; 不包含全部或部分用户帐户名;
至少包含以下四类字符中的三类:大写字母、小写字母、数字,以及键盘上的符号(如 !、@、#); 字典中查不到; 不是命令名; 不是人名; 不是用户名; 不是计算机名; 定期更改;
与以前的密码明显不同。 检查Email格式;
检查电话号码是否由11个数字(手机号)或8位数字(固定电话)或区号加固定电话号码组成; 检查邮政编码是否由6位数字组成
检查身份证号码是否符合以下三种情况:
a、身份证号码为15位数字; b、身份证号码为18位数字;
c、身份证号码为17位数字+1个字母X。
我国现行居民身份证是全国统一编号,由十五位阿拉伯数字组成,每个公民是一人一号,同年、同月、同日所出生的按地区人数,按县固定次序进行合理分配顺序号代码。做到不重、不漏、不错。编号排列的含义是:
1、第l一6位数为行政区划代码;
2、第7—12位数为出生日期代码;
3、第13---15位数为分配顺序代码;
(1)、行政区划代码,是指公民第一次申领居民身份证时的常住户口所在地的行政地区。
(2)、出生日期代码,第7—8位数代表年份(年份前面二位数省略),第9—10位数代表月份(月份为l位数的前面加零)。第11一12位数代表日期(日期为1位数的前面加零)。 (3)、分配顺序代码,是按人口数统一合理分配以固定顺序给予每个人的顺序号,最末一位数是奇数的分配给男性,偶数分配给女性。
新式身份证号码是否还和旧式身份证号码一样,男的尾号为单数,女的尾号为双数?
国务院规定,自1999年10月1日起在全国建立和实行公民身份证号码制度。
公民身份证号码按照GB11643—1999《公民身份证号码》国家标准编制,由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码。
第18位号码是校验码,目的在于检测身份证号码的正确性,是由计算机随机产生的,所以不再是男性为单数,女性为双数。 作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。但是我国的居民身份证在升位后,一些人的尾号变成了X。 检查不合格时弹出消息框提示,例如: MeageBox.Show( \"电话号码错误\",\"个人资料填写错误\",MeageBoxButtons.OK,MeageBoxIcon.Error);