如何用正则表达式判断日期是否符合类似2003-5-6的格式?

wafeng 2003-08-26 12:57:30
thank
...全文
84 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wafeng 2003-08-28
  • 打赏
  • 举报
回复
你是说在什么工具里设置,frontpage?DW?
stevegates 2003-08-28
  • 打赏
  • 举报
回复
如果在页面上,你可以使用CompareValidator,设置它检查格式,里面有DateTime
wafeng 2003-08-27
  • 打赏
  • 举报
回复
我综合了阿信和Yashmak的解决了总是,可不明白的是,为什么不能用[1-31]{1,2}去匹配日子的范围是从1至31呢?
shyslysky 2003-08-27
  • 打赏
  • 举报
回复
阿信的可以判断闰年的问题!~``
myblessu 2003-08-27
  • 打赏
  • 举报
回复
还是阿信的好!
wafeng 2003-08-26
  • 打赏
  • 举报
回复
比我做得简单,不过我得验证一下。
cloudchen 2003-08-26
  • 打赏
  • 举报
回复
阿信的这个不错!
anita2li 2003-08-26
  • 打赏
  • 举报
回复
UP
Yashmak 2003-08-26
  • 打赏
  • 举报
回复
如果要限度年份在 1900-2100之间,可以:

var re=/^(19|20)\d{2}-((1[0-2])|(0?[1-9]))-((3[0-1])|([1-2][0-9])|(0?[1-9]))$/

至于2001-2-29,2000-6-31之类的,一个表达式很难判断

Yashmak 2003-08-26
  • 打赏
  • 举报
回复
var re=/^(\d{4})-((1[0-2])|(0?[1-9]))-((3[0-1])|([1-2][0-9])|(0?[1-9]))$/

此表达式规定:日期在1-31,月份在1-12,且允许类似“01”的格式存在

fason 2003-08-26
  • 打赏
  • 举报
回复
<script>
function IsDate(str){
var re=/^(\d{4})-(\d{1,2})-(\d{1,2})$/
if(!re.test(str))return false;
var r=str.match(re)
var d=new Date(r[1],r[2]-1,r[3])
return d.getFullYear()==r[1]&&d.getMonth()==r[2]-1&&d.getDate()==r[3]
}
alert(IsDate("2000-2-30"))
</script>
nba23 2003-08-26
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=173751

87,988

社区成员

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

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