正则表达式 验证date。格式为:YYYY-MM-DD 要求对于0000-00-00 是正确的认证。
答案:4 悬赏:20 手机版
解决时间 2021-04-29 15:43
- 提问者网友:欲劫无渡
- 2021-04-28 15:40
正则表达式 验证date。格式为:YYYY-MM-DD 要求对于0000-00-00 是正确的认证。
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-04-28 16:34
程序略为修改下就可以啦,远程帮你解决吧。
全部回答
- 1楼网友:猎心人
- 2021-04-28 18:10
var re=/\d{4}-(0\d|1[0-2])-([0-2]\d|3[01])/
alert(re.test('0000-00-00'));
可以满足你的要求,但是没有对平年和闰年进行校验,还有就是对大月和小月
比如4月只有30天等。。
alert(re.test('0000-00-00'));
可以满足你的要求,但是没有对平年和闰年进行校验,还有就是对大月和小月
比如4月只有30天等。。
- 2楼网友:举杯邀酒敬孤独
- 2021-04-28 17:23
^(?:(?:\d*[48]00|(?:\d*[0-35-79](?:[2468][048]|[13579][26]))|[48])-0?2-29 #验证闰年的2月29号
|
\d+-(?:[13578]|10|12)-31 #所有有31号的日期
|
\d+-(?:(?:1[1-2]|0?[13-9])-(?:30|[0-2]?\d)|0?2-(?:1?\d|2[1-8])) #30天的
)$
|
\d+-(?:[13578]|10|12)-31 #所有有31号的日期
|
\d+-(?:(?:1[1-2]|0?[13-9])-(?:30|[0-2]?\d)|0?2-(?:1?\d|2[1-8])) #30天的
)$
- 3楼网友:酒醒三更
- 2021-04-28 16:54
我在你原来的正则上作了修改,原功能不变。
在原正则末尾加上以下内容:
|^(?:(?:0{2})?0{2})[\/\-\.](?:0?0)[\/\-\.](?:0?0)$
新正则可以匹配0000-00-00,00-00-00,00-0-0(还可用/或.作为分隔符)。
如果只希望匹配0000-00-00,请把末尾追加的内容换成:
|^(?:0{4})[\/\-\.](?:00)[\/\-\.](?:00)$(仍可用/或.作为分隔符,若想指定以-分隔把[\/\-\.]改成[\-])
在原正则末尾加上以下内容:
|^(?:(?:0{2})?0{2})[\/\-\.](?:0?0)[\/\-\.](?:0?0)$
新正则可以匹配0000-00-00,00-00-00,00-0-0(还可用/或.作为分隔符)。
如果只希望匹配0000-00-00,请把末尾追加的内容换成:
|^(?:0{4})[\/\-\.](?:00)[\/\-\.](?:00)$(仍可用/或.作为分隔符,若想指定以-分隔把[\/\-\.]改成[\-])
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯