zoukankan
html css js c++ java
[转载]比较完美的日期验证正则表达式(已修正)
我始终没有找到完美的日期验证正则表达式,这要问题就是对瑞年的判断。
我们知道,每 400 年会有 97 个闰年(参见高中《地理》课本),完整的瑞年判断是这样的:
瑞年的年份
1) 若是整百年,能被 400 整除
否则
2) 能被 4 整除
下面给出代码,主要是为 String 原型添加 isDate 方法:
下面的正则表达式可以看成是由三个正则表达式拼接而成,瑞年二月判断、非闰年二月判断、其它月份判断。
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
//
分隔符
Separator
=
{
ANY:
"
.
"
,
DASH:
"
-
"
,
DOT:
"
\\.
"
,
SLASH:
"
/
"
}
;
String.prototype.isDate
=
function
(sep)
{
var
reStr
=
"
^(((([0-9]{2}(([2468][048])|([02468][48])|([13579][26])))|((([02468][048])|([13579][26]))(00)))(-)(2|02)(-)(([0]?[1-9])|([1-2][0-9])))|((([0-9]{2}([02468][1235679])|([13579][01345789]))|((([02468][1235679])|([13579][01345789]))(00)))(-)(2|02)(-)(([0]?[1-9])|([1][0-9])|([2][0-8])))|(([0-9]{4})(-)(((([0]?(1|3|5|7|8))|(10|12))(-)(([0]?[1-9])|([1-2][0-9])|30|31))|(((([0]?(4|6))|11))(-)(([0]?[1-9])|([1-2][0-9])|30)))))$
"
;
if
(
typeof
(sep)
==
"
string
"
)
reStr
=
reStr.replace(
/
\(
-
\)
/
g,
"
(
"
+
sep
+
"
)
"
);
var
re
=
new
RegExp(reStr,
"
g
"
);
return
re.test(
this
);
}
;
function
check()
{
var
bb
=
document.getElementById(
"
TextBox1
"
).value;
//
alert(bb.isDate());
//
alert(bb.isDate(Separator.ANY)) ;
//
alert(bb.isDate(Separator.DASH)) ;
//
alert(bb.isDate(Separator.DOT)) ;
alert(bb.isDate(Separator.SLASH));
}
</
script
>
本篇文章为转载,来自:
GisCell的blogs
http://blog.csdn.net/giscell/archive/2007/06/22/1662209.aspx
查看全文
相关阅读:
arm64 page 4k和64k页面布局
自从教了公司新来的小姐姐Tomcat部署及优化,小姐姐看我的眼神都不一样了!
深度分析SpringAOP,一文带你彻底搞懂SpringAOP底层原理!
java开发两年,类加载器及其加载过程都搞不明白,那你工作可能不保了!
看完这篇总结,你会发现其实spring面试真的没那么难,一篇帮你彻底搞定spring。
金三银四已过,为大家整理一批高频java面试题,花点耐心看完,offer拿到手软!
关于spring事务的传播性这篇文章解析的非常清楚了,建议是先收藏再看!
掌握好这些Java内存模型知识,你才算一个合格的程序员!
关于序列化和反序列化案例看这一篇就够用了,简直讲的清新脱俗!
面试突击spring,看这一篇就够了,给你总结的清新脱俗!
原文地址:https://www.cnblogs.com/puke/p/850347.html
最新文章
理解ASP.NET Core 中的WebSocket
.NET Core中的Worker Service
如何将IHttpHandler和IHttpModule迁移到ASP.NET Core中间件
为什么项目开发永远缺乏合理的时间?
Python 图片合并pdf
表单验证之validform.js使用方法
Jquery操作select,radio,input,p之类
Itextsharp下根据Echarts图像生成pdf
客户端禁用cookies后session是否还起效果
Canvas 教程
热门文章
VS2012使用Git并连接到osc@git
如何在powerdesign15.1中使用自增列
JavaScript中遍历的几种方法
tracepoint你真的了解吗?
关于perf_event_open怎么监控多事件的思考
perf_event_open最详细的参考文档
关于SMC instruction指令执行level的讨论
关于task_struct中变量const cpumask_t *cpus_ptr的作用
关于page type MIGRATE_HIGHATOMIC枚举的理解
smmu之关于iommu.strict的原理
Copyright © 2011-2022 走看看