求一个检测xxxx-xx-xx日期格式的正则表达式

Xudoz 2004-07-23 10:38:33
2004-05-06

能把2009-45-78这样的也屏蔽掉,即还有实际日期意义。

/^\d{4}-\d{2}-\d{2}$/ 这样的就不要拿出来了
...全文
809 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dullwolf 2004-07-23
  • 打赏
  • 举报
回复
<script>
function isDate(str)
{
var d = new Date(str)
return !isNaN(d)
}
</script>
wanghr100 2004-07-23
  • 打赏
  • 举报
回复
<script>
function isDate(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
result = str.match(reg);
if(result == null)return false;
var d = new Date(result[1],result[3]-1,result[4])
var newStr = d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate();
return str == newStr
}
alert(isDate("2004-5-1"))
alert(isDate("2004-5-32"))
alert(isDate("2004-2-30"))
</script>
xiaoq8265 2004-07-23
  • 打赏
  • 举报
回复
en
LxcJie 2004-07-23
  • 打赏
  • 举报
回复
function checkIsValidDate(str)
{
//如果为空,则通过校验
if(str == "")
return true;

var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;
if(!pattern.test(str))
return false;
var arrDate = str.split("-");
if(parseInt(arrDate[0],10) < 100)
arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
if(date.getYear() == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""
&& date.getDate() == arrDate[2])
return true;
else
return false;
}//~~~
Xudoz 2004-07-23
  • 打赏
  • 举报
回复
嗯,这个知道,我另外有用途 ^_^
gjd111686 2004-07-23
  • 打赏
  • 举报
回复
最好用日历控件输入就不需要判断了.
前言:本资源来自于javaeye,原资源链接地址:http://www.javaeye.com/topic/67398 原文如下: 以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 apache网站下下载 在这是junit测试单元类我就不提交了,在main()方法中有几个小测试,有兴趣自己玩吧. 这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1.匹配图象; 2 匹配email地址; 3 匹配匹配并提取url ; 4 匹配并提取http ; 5.匹配日期 6 匹配电话; 7 匹配身份证 8 匹配邮编代码 9. 不包括特殊字符的匹配 (字符串中不包括符号 数学次方号^ 单引号' 双引号" 分号; 逗号, 帽号: 数学减号- 右尖括号> 左尖括号 0) 12 匹配正整数 13 匹配非正整数(负整数 + 0) 14 匹配负整数; 15. 匹配整数 ; 16 匹配非负浮点数(正浮点数 + 0) 17. 匹配正浮点数 18 匹配非正浮点数(负浮点数 + 0) 19 匹配负浮点数; 20 .匹配浮点数; 21. 匹配由26个英文字母组成的字符串; 22. 匹配由26个英文字母的大写组成的字符串 23 匹配由26个英文字母的小写组成的字符串 24 匹配由数字和26个英文字母组成的字符串; 25 匹配由数字、26个英文字母或者下划线组成的字符串; java源码: /* * Created on 2005-4-15 * * Summary of regular-expression constructs 正则表达式结构简介: * Construct Matches * Characters 字符: * x The character x x 字符 x * \\ The backslash character \\ 反斜杠 * \0n The character with octal value 0n (0 <= n <= 7) \0n 十进制数 (0 <= n <= 7) * \0nn The character with octal value 0nn (0 <= n <= 7) \0nn 十进制数 0nn (0 <= n <= 7) * \0mnn The character with octal value 0mnn (0 <= m <= 3, 0 <= n <= 7) \0mnn 十进制数 0mnn (0 <= m <= 3, 0 <= n <= 7) * \xhh The character with hexadecimal value 0xhh \xhh 十六进制数 0x

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧