日期格式校验问题

baitianhai 2002-09-24 02:29:26
我用两个函数来校验,可是 象这样的 2001-1-12 12:01:01 就不能识别出来了,因为javascript的日期是 12:1:1的,大家帮忙修改一下吧
function CheckDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{2}):(\d{2}):(\d{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]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()
alert(str);
alert(newStr);
return newStr==str
}

function CheckDate(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\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]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baitianhai 2002-09-24
  • 打赏
  • 举报
回复
qiushuiwuhen(秋水无恨) 老兄
那个没有时间的那,能否在帮忙解决一下那~
xiaobeibei 2002-09-24
  • 打赏
  • 举报
回复
(\d{2}):(\d{2}):(\d{2})$/
把这一部分正则该一下就可以了.
(\d{1,2}):(\d{1,2}):(\d{1,2})$/

qiushuiwuhen 2002-09-24
  • 打赏
  • 举报
回复
<script>
function check(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;
}
alert(check("2001-1-12 12:01:01"))
</script>
walkingpoison 2002-09-24
  • 打赏
  • 举报
回复
我现在用的日期判断:
var reDate1=new RegExp("^[12][0-9]{3}-[01]{0,1}[0-9]-[0123]{0,1}[0-9]$","ig"); //完整格式,例2002-03-01
var reDate2=new RegExp("^[0-9]{2}-[01]{0,1}[0-9]-[0123]{0,1}[0-9]$","ig"); //2位年份的格式,例02-03-01
var reShortDate1=new RegExp("^[12][0-9]{3}-[01]{0,1}[0-9]$","ig"); //4位年份的年月格式,例2002-03
var reShortDate2=new RegExp("^[0-9]{2}-[01]{0,1}[0-9]$","ig"); //2位年份的年月格式,例02-03
walkingpoison 2002-09-24
  • 打赏
  • 举报
回复
function CheckDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) ([0-2]?\d):([0-5]?\d):([0-5]?\d)$/;
..........
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧