`
zhouxuebao87
  • 浏览: 117550 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日期验证

    博客分类:
  • flex
 
阅读更多
  1. package yiyou   
  2. {   
  3.     import mx.controls.Alert;   
  4.   
  5.     public class GenDateValidator   
  6.     {   
  7.         public function GenDateValidator()   
  8.         {   
  9. //          validatorDate(str);   
  10.         }   
  11.         public function validatorDate(str:String):Boolean   
  12.         {   
  13.             var formatStr:RegExp=/^[1-9][0-9][0-9][0-9]年[0-1][0-9]月[0-3][0-9]日[0-2][0-9]:[0-5][0-9]:[0-5][0-9]$/;   
  14.             var flag:Boolean = false;   
  15.             /**  
  16.              * 验证输入格式是否合法  
  17.              * 验证的内容有格式是否为  
  18.              * 1:xxxx年xx月xx日xx:xx:xx  
  19.              * 2:月份是否为  
  20.              **/  
  21.                
  22.             if(formatStr.exec(str)==null){   
  23.                 Alert.show("输入格式不合法");   
  24.             }else  
  25.             {   
  26.                    
  27.                 //当小时为24小时的时候,分钟和秒钟都要为00   
  28.                 var yearStr:String = str.substr(0,4);   
  29.                 var monthStr:String = str.substr(5,2);   
  30.                 var dayStr:String = str.substr(8,2);   
  31.                 var hourStr:String=str.substr(11,2);//截取小时   
  32.                 var minStr:String = str.substr(14,2);   
  33.                 var secondStr:String = str.substr(17,2);   
  34.                    
  35.                 var year:Number = parseInt(yearStr);   
  36.                 var month:Number = parseInt(monthStr);   
  37.                 var day:Number = parseInt(dayStr);   
  38.                 var hour:Number = parseInt(hourStr);   
  39.                 var minute:Number = parseInt(minStr);   
  40.                 var second:Number = parseInt(secondStr);   
  41.                    
  42.                 flag = (validatorMonth(month) && validatorMonth(month) && validatorDay(day,month,year) && validatorHour(hour,minute,second));   
  43.                    
  44.                    
  45.             }   
  46.             return flag;   
  47.         }   
  48.         public function validatorMonth(month:Number):Boolean{   
  49.             //月份必须小于12,   
  50.             if(month>12)   
  51.             {   
  52.                 Alert.show("月份必须小于12");   
  53.                 return false;   
  54.             }   
  55.             return true;   
  56.         }   
  57.         public function validatorDay(day:Number,month:Number,year:Number):Boolean{   
  58.             //日期必须小于31,如果是4,6,8,10,必须小于30,如果是闰年,2月份必须小于29   
  59.             if(day>31)   
  60.             {   
  61.                 Alert.show("日份必须小于31");   
  62.                 return false;   
  63.             }else  
  64.             {   
  65.                 if(month == 4||month == 6||month == 9||month == 10)   
  66.                 {   
  67.                     if(day>30)   
  68.                     {   
  69.                         Alert.show("日份必须小于30");   
  70.                         return false;   
  71.                     }   
  72.                 }   
  73.                 if(month == 2)   
  74.                 {   
  75.                     //判断选择的年是否为闰年   
  76.                     if((year%4==0 && year%100!=0)||(year%400==0))   
  77.                     {   
  78.                         if(day>29)   
  79.                         {   
  80.                             Alert.show("2月份必须小于29");   
  81.                             return false;   
  82.                         }   
  83.                     }else    
  84.                     {   
  85.                         if(day>28)   
  86.                         {   
  87.                             Alert.show("平年2月份必须小于28");   
  88.                             return false;   
  89.                         }   
  90.                     }   
  91.                 }   
  92.             }   
  93.             return true;   
  94.                
  95.         }   
  96.         public function validatorHour(hour:Number,minute:Number,second:Number):Boolean{   
  97.             //小时必须小于24,且当小时为24时,分钟和秒钟都应该是0   
  98.             if(hour>24)   
  99.             {   
  100.                 Alert.show("小时必须小于或者等于24");   
  101.                 return false;   
  102.             }else   if(hour==24)   
  103.             {   
  104.                 if(minute!=00 || second !=00)   
  105.                 {   
  106.                     Alert.show("当小时为24时,分秒必须都是0");   
  107.                     return false;   
  108.                 }   
  109.             }   
  110.             return true;   
  111.         }   
  112.     }   
  113. }  
package yiyou
{
	import mx.controls.Alert;

	public class GenDateValidator
	{
		public function GenDateValidator()
		{
//			validatorDate(str);
		}
		public function validatorDate(str:String):Boolean
		{
			var formatStr:RegExp=/^[1-9][0-9][0-9][0-9]年[0-1][0-9]月[0-3][0-9]日[0-2][0-9]:[0-5][0-9]:[0-5][0-9]$/;
			var flag:Boolean = false;
			/**
			 * 验证输入格式是否合法
			 * 验证的内容有格式是否为
			 * 1:xxxx年xx月xx日xx:xx:xx
			 * 2:月份是否为
			 **/
			
			if(formatStr.exec(str)==null){
				Alert.show("输入格式不合法");
			}else
			{
				
				//当小时为24小时的时候,分钟和秒钟都要为00
				var yearStr:String = str.substr(0,4);
				var monthStr:String = str.substr(5,2);
				var dayStr:String = str.substr(8,2);
				var hourStr:String=str.substr(11,2);//截取小时
				var minStr:String = str.substr(14,2);
				var secondStr:String = str.substr(17,2);
				
				var year:Number = parseInt(yearStr);
				var month:Number = parseInt(monthStr);
				var day:Number = parseInt(dayStr);
				var hour:Number = parseInt(hourStr);
				var minute:Number = parseInt(minStr);
				var second:Number = parseInt(secondStr);
				
				flag = (validatorMonth(month) && validatorMonth(month) && validatorDay(day,month,year) && validatorHour(hour,minute,second));
				
				
			}
			return flag;
		}
		public function validatorMonth(month:Number):Boolean{
			//月份必须小于12,
			if(month>12)
			{
				Alert.show("月份必须小于12");
				return false;
			}
			return true;
		}
		public function validatorDay(day:Number,month:Number,year:Number):Boolean{
			//日期必须小于31,如果是4,6,8,10,必须小于30,如果是闰年,2月份必须小于29
			if(day>31)
			{
				Alert.show("日份必须小于31");
				return false;
			}else
			{
				if(month == 4||month == 6||month == 9||month == 10)
				{
					if(day>30)
					{
						Alert.show("日份必须小于30");
						return false;
					}
				}
				if(month == 2)
				{
					//判断选择的年是否为闰年
					if((year%4==0 && year%100!=0)||(year%400==0))
					{
						if(day>29)
						{
							Alert.show("2月份必须小于29");
							return false;
						}
					}else 
					{
						if(day>28)
						{
							Alert.show("平年2月份必须小于28");
							return false;
						}
					}
				}
			}
			return true;
			
		}
		public function validatorHour(hour:Number,minute:Number,second:Number):Boolean{
			//小时必须小于24,且当小时为24时,分钟和秒钟都应该是0
			if(hour>24)
			{
				Alert.show("小时必须小于或者等于24");
				return false;
			}else	if(hour==24)
			{
				if(minute!=00 || second !=00)
				{
					Alert.show("当小时为24时,分秒必须都是0");
					return false;
				}
			}
			return true;
		}
	}
}


测试代码如下:

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"    
  3.                xmlns:s="library://ns.adobe.com/flex/spark"    
  4.                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:yiyou="yiyou.*">   
  5.        
  6.     <fx:Script>   
  7.         <![CDATA[       
  8.             import mx.controls.Alert;   
  9.                
  10.             import yiyou.GenDateValidator;   
  11.                
  12.             protected function btnID_clickHandler(event:MouseEvent):void  
  13.             {   
  14.                 var str:String=dataFieldID.text;   
  15.                 var validator:GenDateValidator = new GenDateValidator();           
  16.                 var flag:Boolean = validator.validatorDate(str);   
  17.                 if(flag)   
  18.                 {   
  19.                     Alert.show("输入合法");   
  20.                     //处理步骤   
  21.                 }   
  22.                    
  23.             }   
  24.                
  25.         ]]>   
  26.     </fx:Script>   
  27.        
  28.     <fx:Declarations>   
  29.         <!-- 将非可视元素(例如服务、值对象)放在此处 -->   
  30.     </fx:Declarations>   
  31.     <yiyou:GenDateField x="239" y="100" id="dataFieldID">   
  32.            
  33.     </yiyou:GenDateField>   
  34.     <s:Button id="btnID" x="239" y="168" label="提交" click="btnID_clickHandler(event)"/>   
  35. </s:Application>  
分享到:
评论

相关推荐

    超级好用的日期验证代码JAVASCRIPT

    根据给定的文件信息,我们可以总结出以下关于“超级好用的日期验证代码JAVASCRIPT”的详细知识点: ### 1. **日期格式验证的重要性** 在处理用户输入或数据库存储时,日期验证是非常关键的一步。错误的日期格式...

    ajax中日期验证错误以气泡形式实现

    ### AJAX中的日期验证错误以气泡形式实现 在Web开发中,确保用户输入的数据符合预期格式是非常重要的。本文将详细探讨如何使用AJAX技术,在客户端进行日期格式验证,并且当验证失败时,以气泡提示的方式展示错误...

    javascript日期验证之输入日期大于等于当前日期

    本文实例分析了javascript输入日期大于等于当前日期验证代码,分享给大家供大家参考,具体如下: [removed] $(function () { var d = new Date(); var strDate = getDateStr(d); $("#beginTime").val(strDate)...

    日期验证.rar

    在C++编程中,日期验证是一项常见的任务,它涉及到日期的有效性检查,确保用户输入的日期符合特定格式和逻辑规则。在这个"日期验证"项目中,我们创建了一个名为`Date`的类,该类用于接收并验证用户输入的日期。下面...

    ajax的日期验证.rar

    在这个“ajax的日期验证.rar”压缩包中,我们主要关注的是如何使用Ajax来实现表单中的日期验证功能。 日期验证通常用于确保用户输入的日期格式正确,例如"YYYY-MM-DD"或"MM/DD/YYYY"等。在前端,我们可以使用...

    js日期验证和身份证验证

    js日期验证和身份证验证 两个函数 身份证验证了生日,性别,位数 支持15和18位的

    挺好的日期验证

    ### 挺好的日期验证 #### 一、概述 在软件开发过程中,日期验证是确保数据准确性的重要环节之一。本文将详细介绍一个示例代码——“挺好的日期验证”,该示例涉及日期格式验证以及如何处理闰年计算。通过分析代码...

    javascript验证日期格式

    正则表达式在日期验证中的应用 正则表达式(Regular Expression)是一种强大的文本匹配工具,它可以用于模式搜索、替换以及数据提取等场景。在JavaScript中,正则表达式常用于验证用户输入的格式,如电子邮件地址...

    ajax 局部刷新例子 日期验证 滚动条

    以下是对“Ajax局部刷新例子 日期验证 滚动条”这个主题的详细解释。 1. **Ajax局部刷新**: - **基本原理**:Ajax通过JavaScript创建XMLHttpRequest对象,利用这个对象与服务器进行异步通信,获取或发送数据,...

    日期验证的正则表达式很好用

    ### 日期验证的正则表达式详解 在软件开发中,日期格式的验证是一项常见的需求。本文将深入探讨一种用于验证“YYYY-MM-DD”格式日期的正则表达式,并通过C#语言的具体实现来解析其背后的逻辑和技术要点。 #### 一...

    一款简洁、实用且漂亮的Javascript表单验证效果,实现Ajax的功能,验证项目包括Email验证、日期验证、字符长度验证、常规验证等,程序基本思路:通过扩展对象来实现,将String扩展 将默认的表单元素扩展 定义两个自定义对象。

    该插件覆盖了多种常见的数据验证需求,如Email验证、日期验证、字符长度验证以及通用的格式验证。其核心实现策略是通过对象扩展的方式,对String原型进行扩展以及对默认的表单元素进行增强,并自定义了两个对象用于...

    常用的日期验证(JavaScript)

    在JavaScript编程中,日期验证是前端开发中一个常见的任务,特别是在表单提交或者用户输入时,确保用户输入的日期格式正确、有效且符合特定规则。本文将深入探讨如何实现一个根据选择年份来指定月份输入范围,进而...

    两行代码搞定 JavaScript 的日期验证

    在JavaScript开发过程中,日期验证是常见且重要的功能之一。本文将详细介绍如何利用两行核心代码实现日期的有效验证,并深入探讨这段代码背后的原理及其应用场景。 ### 一、代码解析 首先,我们来看一下给出的核心...

    多种net下日期选择方法,另附日期验证的正则表达式

    如果您想验证格式为2010/04/24,2010.04.24的日期,请参考压缩包里的“正则应用之——日期正则表达式.doc”文件。您可以根据自己的需要修改。 这个实例是在vs2008下进行的(net 3.5),如果您使用的是net 2.0,请替换...

    表单验证+对话框+日期格式化+日期选择框+select美化js框架

    "表单验证+对话框+日期格式化+日期选择框+select美化js框架"这个主题涵盖了一些核心的技术点,它们都是构建高效、友好且功能丰富的前端应用不可或缺的部分。接下来,我们将深入探讨这些知识点。 1. 表单验证: ...

    日期类型的验证和校验,typeof一般是不管用的

    日期类型的验证和校验,typeof一般是不管用的 这个文档提供了有效的方法来进行日期验证

    验证输入日期.rar

    在IT行业中,日期验证是一个非常基础且重要的环节,特别是在数据处理、用户交互和系统安全方面。"验证输入日期.rar"这个文件很可能包含了关于如何在编程中实现日期验证的示例或教程。日期验证的主要目的是确保用户...

    日期的javascript验证

    在JavaScript中,日期验证是一个常见的任务,特别是在网页应用中,我们可能需要检查用户输入的日期是否有效,或者根据业务逻辑判断日期是否符合特定条件。在这个场景中,标题提到的"日期的JavaScript验证"指的是利用...

    java代码验证日期格式正则表达式(包含闰年验证)带注释

    * @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...

    一段验证日期的有效性的JAVA代码

    在Java编程中,验证日期的有效性是...如果你的应用场景需要更复杂的日期验证,例如考虑到具体的时间、时区或特殊日期规则(如公众假期),可能需要使用更强大的库,如Java 8中的`java.time`包或者第三方库如Joda-Time。

Global site tag (gtag.js) - Google Analytics