js判断时间格式及时间大小
来源:互联网 发布:mac上卸载程序 编辑:程序博客网 时间:2024/05/17 23:23
http://blog.csdn.net/itxiaohei323/article/details/7916598
检查格式2003-9-9 23:11:23
<input type="text" value="2003-9-9 23:11:23" id="inputtime">
<input type="button" onclick="changev()" value="click">
<script>
function changev(){
var aaa=inputtime.value
ttt=aaa.match(/\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}/)
if(ttt==null) alert("error");else alert("ok");
}
</script>
1 短时间,形如 (13:04:06)
function isTime(str){
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60){
alert("时间格式不对");
return false
}
return true;
}
2. 短日期,形如 (2008-07-22)
function strDateTime(str){
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
3 长时间,形如 (2008-07-22 13:04:06)
function strDateTime(str){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
/**
判断时间大小
sdate1: 开始时间
edate2: 结束时间
return: true/false
**/
function checkDate(sdate1,edate2){
if(sdate1!=""&&edate2!="")
{ //输入不为空时;
// 对字符串进行处理
// 以 - / 或 空格 为分隔符, 将日期字符串分割为数组
var date1 = sdate1.split("-");
var date2 = edate2.split("-");
// 创建 Date 对象
var myDate1 = new Date(date1[0],date1[1],date1[2]);
var myDate2 = new Date(date2[0],date2[1],date2[2]);
// 对日起进行比较
if (myDate1 <= myDate2)
{
return true;
}else
{
alert ("提示: 开始时间不能大于结束时间!");
return false;
}
}
else
{
return true;
}
}
/**
判断日期格式 2000-01-01
strDate:检测的日期格式
return: true/false
**/
function isDate(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
//var strDate=form1.a.value //表单中的日期值
strDateArray = strDate.split(strSeparator);
if(strDateArray.length!=3) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
if(intMonth>12||intMonth<1) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
if(intMonth==2){
if(intDay<1) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
boolLeapYear = false;
if((intYear%4==0 && intYear %100!=0)||(intYear %400==0))
{
boolLeapYear=true;
}
if(boolLeapYear){
if(intDay>29) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
}
else{
if(intDay>28) { alert('提示: 日期格式错误! \r\n 请依【YYYY-MM-DD】格式输入!'); return false; }
}
}
return true;
}
附注:
如果是24小时制的(23:59的格式):re = /^([01][0-9]|2[0-3])\:[0-5][0-9]$/
如果还带秒数的(23:59:59的格式):re = /^([01][0-9]|2[0-3])\:[0-5][0-9]\:[0-5][0-9]$/
如果前后有空格的也要匹配的:re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9]\:[0-5][0-9]\s*$/
如果24小时制的,要秒数不要秒数都可以的,并且前后还可以加空格的:
re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9](\:[0-5][0-9]){0,1}\s*$/ 或者:
re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9](\:[0-5][0-9])?\s*$/
判断全格式时间的正确性:
如:2012-03-04 23:09:00
^[0-9]{4}-[0-9]{2}-[0-9]{2}\s+([01][0-9]|2[0-3])\:[0-5][0-9]\:[0-5][0-9]$
- js判断时间格式及时间大小
- js判断时间格式及时间大小
- js 判断时间大小
- js判断时间大小
- js判断时间大小
- js判断时间大小
- js判断时间大小
- js 判断时间大小
- js判断时间格式
- JS中判断时间大小
- js怎样比较时间格式的大小
- js判断两个时间的大小
- JS判断两个时间的大小
- JS判断两个时间的大小
- js判断两个时间的大小
- js 时间日期 校验格式 比较大小等(判断页面选择时间只能在早8点到晚8点之间)
- js如何判断时间大小和时间间隔多少
- js判断时间格式是否有效
- Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
- 多线程注意事项
- OpenGL入门学习
- Oracle笔记 六、PL/SQL简单语句块、变量定义
- JAVA模拟线程
- js判断时间格式及时间大小
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 八、PL/SQL跳转/判断/循环语句块
- Linux系统下samba的使用技巧及常见问题
- Oracle笔记 九、PL/SQL 游标的使用
- javascript html5 game 开发的一些知识
- HBase 0.99 源代码分析 - Master启动过程(2)
- Android API指南目录索引
- Oracle笔记 十、PL/SQL存储过程