问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js日期校验

发布网友 发布时间:2022-05-07 15:30

我来回答

2个回答

热心网友 时间:2022-04-23 09:10

function check(date){ return (new Date(date).getDate()==date.substring(date.length-2));}//参数date可以格式化为xx-xx-xx或xxxx-xx-xx或用/分割附:
通常来说,javascript验证日期的有效性可以通过正则判断
但正则表达式无法精准验证日期的有效性,你无法通过正则表达式判断出1900-02-29是非法日期而2000-02-29是合法日期,而且正则表达式匹配起来比较繁琐。
要想精确验证,最容易想到的方法就是通过月份判断日期是否合法(1~28/29/30/31),你可以用一个数组表示每月的天数,如daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],但你会发现daysInMonth[1]这个值可能是28或29,你又要写一个判断闰年的函数来解决这个问题......
这至少要花费20行以上的代码来完成这件事,而通过javascript中的Date对象,我们只需要1行代码即可完成上述功能。
function check(date){
return (new Date(date).getDate()==date.substring(date.length-2));
}
date为一个待检查的类日期字符串(如2013-01-01、2013/01/01、2013/01/32、2013/02/29),不论这个字符串是否正确
通过新建的Date对象(new Date(date)),可以识别出该日期是否正确,如果不正确则返回Invalid Date
但这样会有一个bug,当日期的值在1-31之间,new Date总返回一个新的对象,不论该月份是否存在这个日期(如2013-02-30将返回日期对象Sat Mar 02 2013 08:00:00 GMT+0800 (中国标准时间)),返回结果是下个月的日期而不报错
所以要用getDate()方法获取日期(new Date('2013-02-30')对象的getDate()方法将返回2)
date.substring(date.length-2)会获取到字符串最后两位也就是日期的部分,这与Date对象的日期部分做比较,如果相等则说明日期有效,否则为无效日期
如果日期无效则'=='左边值为NaN,右边无论是什么(''、null、undefined、NaN等)结果都为false

打字不易,如满意,望采纳。追问我想将两个日期相减,然后比较得到的结果小于1年,这个应该怎么写?而且如果大于1年就报错,只要范围在1年以内的任何日期都可以

热心网友 时间:2022-04-23 10:28

1年 ? 1年的判断依据呢?

我是这样想的:

1年的话,那么到明年的今天就可以了嘛。如果是在明年的今天前,那么就是在1年内,否则就超过1年了。看代码:

var date1 = new Date('2012-02-17'); // 开始日期
var date2 = new Date('2013-01-25'); // 结束日期
var date3 = new Date(date1);        // 这个日期会设置成明年的今天
date3 .setFullYear(date1.getFullYear()+1); // 1 年内的最后一天
var diff = date3 - date2;    // 算结束与明年的今天的日期差
if(diff==0) {
    // 结束日期是明年的今天
} else if(diff < 0) {
    // 结束日期在明年的今天后
} else {
    // 结束日期在明年的今天前,也就是你说的1年内了
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福如东海终身寿险(A款)(分红型)能退多少钱 我买的新华人寿保险福如东海A型,但是想退了。 杭州樱花日语学校的学习效果如何得到管理与跟踪? 枣子不能与什么一起吃 枣子和什么食物相克 枣子和什么相克 枣子跟什么不能一起吃 电风扇带不动风叶拿掉风叶能转是怎么回事 嵌入式学习首先要学什么基础 学习嵌入式的基础是什么 JS中的日期 条形洞洞板上的孔一般多大 谁知道不锈钢防盗网上的菱形的孔是怎么弄成的? 镍网有哪几种?我该选择什么样的镍网? 冲孔网是什么? 振动筛筛网2层或者3层预先粘结的菱形孔材料是什么?哪里有卖的? 冲孔网用途 规格型号为菱形孔梗长6cm,梗宽3cm,长节距10cm,短节距6cm的钢板网每平方米等于多少千克 菱形孔染漆钢板网 100刀养殖钢板网 一卷多少钱 钢板网上菱形孔是怎么加工出来的 钢板网与花纹钢板有哪些区别:求解答 钢板网,斜方孔,菱形孔三种护栏网怎样区分 30乘以60的菱形孔是多大 拍的照片jpeg格式的,文件太大了,如何变小? 怎样解决JPEG格式相片文件过大的问题 有没有办法可以让我自己从对方的微信好友列表里面删除? 有什么办法能让微信好友一健全删 有什么办法从好友微信黑名单删除我 什么办法能让微信好友删除与我的聊天记录 slice definition是什么意思 爱境女装有网店吗 爱境品牌风衣女装的价格 一天换多套衣服是怎么样的心理,想干嘛,为什么? 喜欢黑底黄花衣服的人是怎么样的性格? 女生都喜欢家境殷实的男人,这是为什么? 拍婚纱照选衣服应该怎么选 男女生之间交往,家境真的重要吗? 感情的最高境界是什么? 你怎么看杜海涛跟吴昕的友情? 求最权威最完整的威妥玛拼音(粤语拼音)与汉语拼音对照表? 请教我的名用威妥玛拼音如何拼写 求 王珊珊 的威妥玛拼音!! 帮我翻译一下威妥玛拼音 于正江用威妥玛拼音怎么拼音 威妥玛拼音在线转换,张文军,转换下谢谢 徽商 威妥玛式拼音拼出来是什么? 威妥玛式拼音取名 如何考取房屋安全鉴定师 哪里考证房屋安全鉴定 上岗证 房屋安全鉴定人员的资格书