当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > js:日期正则表达式及检测

正则表达式
自定义ubb代码,preg_replace()函数的一些代码
eregi_replace()中特殊字符的处理方法
eregi_replace与preg_replace 函数代码的用法比较
JS正则表达式详解[收藏]
[正则表达式]贪婪模式与非贪婪模式
收集的ASP.NET中常用正则表达式
C#正则实现Ubb解析类的代码
利用正则快速找出两个字符串的不同字符
C#中的正则表达式 学习资料
正则表达式中对各字符集编码范围的总结
正则表达式基础教程与说明
正则表达式
asp下正则实现URL自动链接的一个函数
JS:一个匹配日期的正则
JS:正则将首字单词转成大写
正则表达式:过滤<font>和</font>
vbs:把一段文字中指定字符颜色变成红色的正则
js:校验IPv6地址的正则表达式
vbs:一段比较精简的代码实现取得字符串的"字节"数
vbs:能算出一个字符在一字段里共出现有几次的函数

js:日期正则表达式及检测


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 555 ::
收藏到网摘: n/a

这是yyyy-mm-dd hh:mm:ss 的
/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ ;
这是 yyyy-mm-ddde 的
/^(\d{4})\-(\d{2})\-(\d{2})$/
function validateCNDate( strValue ) {
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/

if(!objRegExp.test(strValue))
return false;
else{
var arrayDate = strValue.split(RegExp.$1);
var intDay = parseInt(arrayDate[2],10);
var intYear = parseInt(arrayDate[0],10);
var intMonth = parseInt(arrayDate[1],10);
if(intMonth > 12 || intMonth < 1) {
return false;
}
var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31,
'8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31}
if(arrayLookup[parseInt(arrayDate[1])] != null) {
if(intDay <= arrayLookup[parseInt(arrayDate[1])] && intDay != 0)
return true;
}
if (intMonth-2 ==0) {
var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
return true;
}
}
return false;
}