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
查看全文
相关阅读:
JavaScript--Promise(1)
JavaScript--创建对象
JavaScript--JSON
JavaScript--generator
JavaScript--闭包(1)
JavaScript--sort()
JavaScript--filter()
JavaScript--map()&reduce()
JavaScript--map&set
3.11
原文地址:https://www.cnblogs.com/puke/p/850347.html
最新文章
L1-062 幸运彩票
L1-061 新胖子公式
L1-060 心理阴影面积
L1-059 敲笨钟
L1-058 6翻了
L1-057 PTA使我精神焕发
L1-043 阅览室
数的全排列 dfs深度优先搜索
快速幂模板
1095 解码PAT准考证
热门文章
Oracle中根据特定的分隔符拆分字段
WPF打开时窗体居中
vue中表单验证校验
关于下载vue-cli版本一直是2.9.6的问题
使用vue-cli3创建项目的时候出错,ERROR command failed: npm install --loglevel error --registry
WPF中定时器的使用,使用DispatcherTimer进行控制
如何改变DataGrit每行的行宽?
SyntaxError: Cannot use import statement outside a module报错原因和解决方法
MVVM设计思想
JavaScript--Promise(2)
Copyright © 2011-2022 走看看