function CheckObjDate(word)
{
var checkResult = CheckDate(word);
switch(checkResult)
{
case 'ERRORNODATE':
alert('不能为空!');
break;
case 'ERRORDATEFORMAT':
alert('时间格式不正确!');
break;
default:
alert('通过!');
return true;
}
}
function CheckDate(checkDate)
{
var reg =/^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))$/;
var word = checkDate;
if(word.length == 0)
{
return 'ERRORNODATE';
}
var splitedWord = word.split("-");
if(splitedWord.length > 3 || splitedWord.length < 2)
{
return 'ERRORDATEFORMAT';
}
else
{
for(var i = 0; i < splitedWord.length; i++)
if(splitedWord[i].length == 0)
return 'ERRORDATEFORMAT';
}
if(splitedWord.length == 2)
{
if(splitedWord[0].length < 1 || splitedWord[0].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[0].length == 1)
{
splitedWord[0] = "0" + splitedWord[0];
}
if(splitedWord[1].length < 1 || splitedWord[1].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[1].length == 1)
{
splitedWord[1] = "0" + splitedWord[1];
}
var now = new Date();
word = now.getFullYear() + "/" + splitedWord[0] + "/" + splitedWord[1];
}
if(splitedWord.length == 3)
{
if(splitedWord[0].length < 1 || splitedWord[0].length > 4)
return 'ERRORDATEFORMAT';
else if(splitedWord[0].length == 1)
{
splitedWord[0] = "200" + splitedWord[0];
}
else if(splitedWord[0].length == 2)
{
splitedWord[0] = "20" + splitedWord[0];
}
if(splitedWord[1].length < 1 || splitedWord[1].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[1].length == 1)
{
splitedWord[1] = "0" + splitedWord[1];
}
if(splitedWord[2].length < 1 || splitedWord[2].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[2].length == 1)
{
splitedWord[2] = "0" + splitedWord[2];
}
word = splitedWord[0] + "/" + splitedWord[1] + "/" + splitedWord[2];
}
if(!(word.match(reg)))
{
return 'ERRORDATEFORMAT';
}
else
{
return word;
}
}
{
var checkResult = CheckDate(word);
switch(checkResult)
{
case 'ERRORNODATE':
alert('不能为空!');
break;
case 'ERRORDATEFORMAT':
alert('时间格式不正确!');
break;
default:
alert('通过!');
return true;
}
}
function CheckDate(checkDate)
{
var reg =/^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))$/;
var word = checkDate;
if(word.length == 0)
{
return 'ERRORNODATE';
}
var splitedWord = word.split("-");
if(splitedWord.length > 3 || splitedWord.length < 2)
{
return 'ERRORDATEFORMAT';
}
else
{
for(var i = 0; i < splitedWord.length; i++)
if(splitedWord[i].length == 0)
return 'ERRORDATEFORMAT';
}
if(splitedWord.length == 2)
{
if(splitedWord[0].length < 1 || splitedWord[0].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[0].length == 1)
{
splitedWord[0] = "0" + splitedWord[0];
}
if(splitedWord[1].length < 1 || splitedWord[1].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[1].length == 1)
{
splitedWord[1] = "0" + splitedWord[1];
}
var now = new Date();
word = now.getFullYear() + "/" + splitedWord[0] + "/" + splitedWord[1];
}
if(splitedWord.length == 3)
{
if(splitedWord[0].length < 1 || splitedWord[0].length > 4)
return 'ERRORDATEFORMAT';
else if(splitedWord[0].length == 1)
{
splitedWord[0] = "200" + splitedWord[0];
}
else if(splitedWord[0].length == 2)
{
splitedWord[0] = "20" + splitedWord[0];
}
if(splitedWord[1].length < 1 || splitedWord[1].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[1].length == 1)
{
splitedWord[1] = "0" + splitedWord[1];
}
if(splitedWord[2].length < 1 || splitedWord[2].length > 2)
return 'ERRORDATEFORMAT';
else if(splitedWord[2].length == 1)
{
splitedWord[2] = "0" + splitedWord[2];
}
word = splitedWord[0] + "/" + splitedWord[1] + "/" + splitedWord[2];
}
if(!(word.match(reg)))
{
return 'ERRORDATEFORMAT';
}
else
{
return word;
}
}
发表评论
-
领先的 Web 技术教程 - 全部免费
2010-03-02 17:00 875W3整体Web技术教程 http://www.w3schoo ... -
DIV滚动条保持最底部
2010-03-02 17:00 3075<!DOCTYPE html PUBLIC " ... -
正则表达式验证各种格式
2010-03-02 16:59 763//判断输入内容是否为空 function ... -
常用的JavaScript验证正则表达式(转)
2010-03-02 16:58 533匹配中文字符的正则表 ... -
javascript来限制文本框的输入类型
2010-03-02 16:58 603javascript来限制文本框的输入类型 在经常写一些代码 ... -
实用且不花哨的js代码大全
2010-03-02 16:57 564事件源对象 event.srcElement.tagNam ... -
JavaScript输入控制
2010-03-02 16:56 546<html> <head> < ... -
js日期时间格式验证,时间比较
2010-03-02 16:55 1167Date.prototype.isLeapYear 判断闰年 ... -
JavaScript读取文本文件内容
2010-03-02 16:54 1010<SCRIPT> //<!-- functi ... -
模态弹出窗口刷新父窗体
2010-03-02 16:53 1293问: 我在做一套系统的时候碰到这样一个问题。 弹出的模态窗 ... -
使用javascript获取硬件信息
2010-03-02 16:52 13551.获取硬件列表 <!DOCTYPE HTML PUB ...
相关推荐
验证日期的正则表达式及其注释(包含闰年验证) yyyy-mm-dd 常用日期格式
而实际应用中,日期的范围基本上不会超出DateTime所规定的范围,所以正则验证取其中常用的日期范围即可。 2.2 什么是闰年 (以下摘自百度百科) 闰年(leap year)是为了弥补因人为历法规定造成的年度天数与地球实际...
Date.prototype.isLeapYear 判断闰年 Date.prototype.Format 日期格式化 Date.prototype.DateAdd 日期计算 ...IsValidDate 验证日期有效性 CheckDateTime 完整日期时间检查 daysBetween 日期天数差
开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧。 介绍 xxxxxx yyyy MM dd 375 0 十八位 xxxxxx yy MM...
自己写的比较全js验证,供大家参考 //身份证验证 function checkIdcard(idcard1,showMsg){ var idcard=this.trim(idcard1);// 对身份证号码做处理。去除头尾空格。 var Errors=new Array( "验证通过!", ...
16.7 不使用正则验证IP地址 16.8 IP地址输入框 16.9 判断变量是否已经定义 16.10 判断方法是否已经定义 16.11 表单验证样式(一) 16.12 判断表单是否已修改 16.13 判断控件的类型 16.14 密码强度检查 16.15 身份证...
16.7 不使用正则验证IP地址 16.8 IP地址输入框 16.9 判断变量是否已经定义 16.10 判断方法是否已经定义 16.11 表单验证样式(一) 16.12 判断表单是否已修改 16.13 判断控件的类型 16.14 密码强度检查 16.15 身份证...
实例084 通过正则表达式验证日期 130 实例085 验证输入的日期格式是否正确 132 实例086 检查表单元素是否为空 134 实例087 验证E-mail是否正确 135 实例088 通过正则表达式验证电话号码 137 实例089 验证输入的字符...
判断身份证的方法比使用正则表达式更加准确详细请看 js中的 checkidcard.js 判断省份证的 js function checkIsChinese(str){ if (str.length || str.length > 15){ return "姓名长度不正确"; } var ret=true...
日期格式... 259 9.15 验证文字字段中输入的是否是 时间格式... 261 9.16 验证文字字段中输入的是否为邮箱 地址... 262 9.17 自动切换为英文输入模式... 264 9.18 使用键盘选择文字字段... 265 9.19 使文字...
实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 ...
实例050 打印2000~2020年的所有闰年 81 实例051 前置运算符和后置运算符的区别 82 实例052 使用位运算对数字进行加密和解密 83 2.3 包含语句 84 实例053 提高代码重用率 84 实例054 包含数据库连接文件 85 实例055 ...
实例050 打印2000~2020年的所有闰年 81 实例051 前置运算符和后置运算符的区别 82 实例052 使用位运算对数字进行加密和解密 83 2.3 包含语句 84 实例053 提高代码重用率 84 实例054 包含数据库连接文件 85 实例055 ...