日期格式校验算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
日期格式校验算法.doc

日期格式校验算法   摘 要:随着计算机科学技术的发展,各类系统应用越来越广泛,用户在输入数据时,经常会有各种各样错误,若有好的校验方法,能够在一定程度上避免错误,本文以天津开发区职业技术学院在线考试系统需求为例,阐述了在学生登录系统需要输入出生日期完善数据时要解决的问题,并介绍了在开发过程中解决问题的思路和代码的实现过程。   关键词:日期校验;字符;算法   中图分类号:TP393.092   当今社会,学校考核学生的考试方式已经不仅仅局限于笔试,为实现考试方式的多元化,更好地分析学生的学习情况,把试题情况和学生基本信息相结合,更好地进行数据分析,我们在天津开发区职业技术学院在线考试系统中需要学生的基本信息,学生在初次登录时,要输入自己的信息,系统数据库里只有学号班级等学籍信息并没有个人信息,输入信息包括性别、年龄、家庭住址和出生日期等。由于输入时有的能够选择,例如性别,有的只能输入,例如出生日期,在输入时又难免会发生错误,而且在发生输入的学生还不知晓,这样就会造成数据不准确。这就要求我们在开发系统时必须找到一种校验方法,能够校验输入的数据,对输入不合法的数据进行提示,直到输入正确合法的数据为止。   1 对出生日期校验方式描述   对于日期的格式有很多种,根据我们中国人传统的日期格式,可以是简单的8位数字,也可以中间有分隔符,分隔符有很多种,例如:“-”、“/”、“.”等,这需要在输入时有提示,例如:“日期格式1994-6-12”。   经过验证我们觉得使用分隔符格式比8位数字格式更好校验,截取字符串也比较方便。其实也考虑过用选择的方式,选择年、月、日,这样有两个问题,一是对选择日期正确与否不好判断,二是存入数据库时麻烦一些,因此我们采取的方式是让同学们输入日期,之后判断日期是否符合要求,若符输入的日期合要求就直接存入数据库。下面简单介绍一下采取的校验算法。   算法描述:(1)判断输入的字符串是否为空,若为空提示输入日期;(2)若不为空,则根据分隔符分别获取年、月、日;(3)判断年、月、日是否合法,若不合法返回0,否则返回1。   1)位数是否合法(年4位,月1位或2位,日1位或2位);2)月、日是否符合范围(月:1-12,日1-31);3)若平年,二月份不能出现29日;4)若是小月(二、四、六、九、十一月)不能出现31日;5)二月份不能出现30日。   2 代码实现   下边的代码,使用的是JavaScript语言,若chkdate函数返回0,说明输入日期不合法,若返回1,说明输入的日期合法。   function chkdate(datestr)   { Var lthStr;   if (datestr != )   lthStr = datestr.length ;   else   { alert(请正确输入日期!例1994-6-12);   return 0; }   var tmpy=; var tmpm=; var tmpd=;   var status; //用于判断出现了几次“-”   status=0;   for (i=0;ilthdatestr;i++)   { if (datestr.charAt(i)== -)   { status++; }   if (status2)   { return 0; }   if ((status= =0) (datestr.charAt(i)!=-))   { tmpy=tmpy+datestr.charAt(i) }   if ((status==1) (datestr.charAt(i)!=-))   { tmpm=tmpm+datestr.charAt(i) }   if ((status==2) (datestr.charAt(i)!=-))   { tmpd=tmpd+datestr.charAt(i) }   }   year=new String (tmpy); month=new String (tmpm); day=new String (tmpd)   if ((tmpy.length!=4) || (tmpm.length2) || (tmpd.length2))   { return 0; }   if (!((1=month) (31=day) (1=day)) )   { return 0; }   if (!((year % 4)= =0) (month= =2) (day= =29))   { return 0; }   if ((month=31))   { return 0; }   if ((month=8)

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档