js日期格式判断代码

/** 
    判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期 
  */ 
  function   IsDate(sm,mystring)   { 
      var   reg   =   /^(d{4})-(d{2})-(d{2})$/; 
      var   str   =   mystring; 
      var   arr   =   reg.exec(str); 
      if   (str=="")   return   true; 
      if   (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){ 
        alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!"); 
        return   false; 
        } 
        return   true; 
    }  

方法二

//---------------------------------------------------------------------------
//判断日期格式是否正确
//返回值是错误信息, 无错误信息即表示合法日期字符串
function isDateString(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
var ErrorMsg = ""; //出错信息
strDateArray = strDate.split(strSeparator);
//没有判断长度,其实2008-8-8也是合理的//strDate.length != 10 ||
if(strDateArray.length != 3) {
ErrorMsg += "日期格式必须为: yyyy-MM-dd";
return ErrorMsg;
}
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) {
ErrorMsg += "日期格式错误: 年月日必须为纯数字";
return ErrorMsg;
}
if(intMonth>12 || intMonth<1) {
ErrorMsg += "日期格式错误: 月份必须介于1和12之间";
return ErrorMsg;
}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7
||intMonth==8||intMonth==10||intMonth==12)
&&(intDay>31||intDay<1)) {
ErrorMsg += "日期格式错误: 大月的天数必须介于1到31之间";
return ErrorMsg;
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)
&&(intDay>30||intDay<1)) {
ErrorMsg += "日期格式错误: 小月的天数必须介于1到31之间";
return ErrorMsg;
}
if(intMonth==2){
if(intDay < 1) {
ErrorMsg += "日期格式错误: 日期必须大于或等于1";
return ErrorMsg;
}
boolLeapYear = false;
if((intYear%100) == 0){
if((intYear%400) == 0)
boolLeapYear = true;
}
else{
if((intYear % 4) == 0)
boolLeapYear = true;
}
if(boolLeapYear){
if(intDay > 29) {
ErrorMsg += "日期格式错误: 闰年的2月份天数不能超过29";
return ErrorMsg;
}
} else {
if(intDay > 28) {
ErrorMsg += "日期格式错误: 非闰年的2月份天数不能超过28";
return ErrorMsg;
}
}
}
return ErrorMsg;
}

方法三

//函数名:CheckDateTime    
//功能介绍:检查是否为日期时间  
function   CheckDateTime(str){  
        var   reg   =   /^(d+)-(d{1,2})-(d{1,2})   (d{1,2}):(d{1,2}):(d{1,2})$/;  
        var   r   =   str.match(reg);  
        if(r==null)return   false;  
        r[2]=r[2]-1;  
        var   d=   new   Date(r[1],   r[2],r[3],   r[4],r[5],   r[6]);  
        if(d.getFullYear()!=r[1])return   false;  
        if(d.getMonth()!=r[2])return   false;  
        if(d.getDate()!=r[3])return   false;  
        if(d.getHours()!=r[4])return   false;  
        if(d.getMinutes()!=r[5])return   false;  
        if(d.getSeconds()!=r[6])return   false;  
        return   true;
}

其它

String.prototype.isValidTime=function()
{
var resule=this.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);
if (result==null) return false;
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
return true;
} String.prototype.isValidDate=function()
{
var result=this.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/);
if(result==null) return false;
var d=new Date(result[1], result[3]-1, result[4]);
return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
}

更多详细内容请查看:http://www.111cn.net/wy/99/33223.htm

时间: 2024-10-29 06:16:02

js日期格式判断代码的相关文章

js 验证日期格式各种代码

例1 验证YYYY-MM-DD日期格式,不能验证"2012-11-45"之类的不正确的日期  代码如下 复制代码 <script language="javascript"> function formatTime(str) {   var   r   =   str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/);       if(r==null) return   false;       var  d=  ne

js 日期加红代码 适用于各种cms[原创]_javascript技巧

下面的代码不用增加字符,直接用js寻找指定id下的span标签,匹配日期类型如 05-27 这样格式的日期,大家可以根据自己的日期类型稍作修改. 注意了,匹配的是当前的日期,所有大家只要将下面的05-27换成当前的日期即可,今天是2009-05-27所以我们写成05-27,个人表达能力问题,不知道大家能听懂不. 05-26 05-27 05-24 05-23 05-27  05-27 05-26 05-27 05-27 05-27  [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

js chrome浏览器判断代码_javascript技巧

早期我给出的判定是基于UA,在UA中它有一个独一无二的Chrome字符串. 复制代码 代码如下: var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1 今天发现chrome还是有一些独一无二的东西,基于它们,我们就可以搞出基于特征的判定了. 复制代码 代码如下: var isChrome = window.google && window.chrome 这两个东西,前者拥有其本地数据库gea

ios获取系统当前日期,一定日期格式的代码

NSDate *  senddate=[NSDate date];   NSDateFormatter  *dateformatter=[[NSDateFormatter alloc] init];   [dateformatter setDateFormat:@"YYYYMMdd"];   NSString *  locationString=[dateformatter stringFromDate:senddate];     NSLog(@"locationStrin

js日期格式完美验证函数

function validateshort(form) {         var bvalid = true;         var focusfield = null;         var i = 0;         var fields = new array();           var oshort = eval('new ' + jcv_retrieveformname(form) +  '_shortvalidations()');         for (var

js将long日期格式转换为标准日期格式实现思路_javascript技巧

js将long日期格式转换为标准日期格式 复制代码 代码如下: <script language="javascript"> //扩展Date的format方法 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), &q

LotusScript 判断更改系统日期格式

问题描述 由于Notes系统中所有的应用程式日期格式是"YYYY/MM/DD",但是系统大多数默认是"yyyy-m-d"我希望首先程序能判断出电脑的日期格式,如果不是"YYYY/MM/DD".1.能够断开连接并且关闭Notes客户端.2.最好能够直接将系统日期格式更改然后重启客户端.Notes是C/S模式的,8.5版本请问各位老大有没有什么解决方法啊. 解决方案 解决方案二:SubPostopen(SourceAsNotesuidatabase)

POI对Excel自定义日期格式的读取(实例代码)_java

用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String suffix, int startRow) throws IOException, FileNotFoundException { Workbook xssfWorkbook = null; if ("xls".equals(suffix)) { xssfWorkbook = new H

javascript中日期时间比较代码

比如日期1为2009-8-1,日期2为2009-7-1 利用split函数来切分, 方法1  代码如下 复制代码 <script> var d1="2009-8-1"; var d2="2009-7-15"; d1Arr=d1.split('-'); d2Arr=d2.split('-'); v1=new Date(d1Arr[0],d1Arr[1],d1Arr[2]); v2=new Date(d2Arr[0],d2Arr[1],d2Arr[2]);