求一个JAVASCRIPT验证时间的函数,谢谢了~~

zhl1015 2008-06-17 04:00:39
格式为:2008-5-1 9:15:13 , 有的时候月份是2位数,有时是1位数

自己不会写正则,在网上找了半天,都有点问题,所以请大家帮忙了~~
...全文
541 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcjz99 2009-06-15
  • 打赏
  • 举报
回复
格式为:09:15:13 该如何验证啊

自己不会写正则,在网上找了半天,都有点问题,所以请大家帮忙了~~
rainsome 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mingxuan3000 的回复:]
JScript code<script>functionstrDateTime(str)
{varreg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;varr=str.match(reg);if(r==null)returnfalse;vard=newDate(r[1], r[3]-1,r[4],r[5],r[6],r[7]);return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert(strDateTime("2008-…
[/Quote]
修改一句:

var reg=/^\d{1,4}([-|\/])\d{1,2}\1\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$/;
浴火_凤凰 2008-06-18
  • 打赏
  • 举报
回复
可以google相关代码
「已注销」 2008-06-18
  • 打赏
  • 举报
回复

3楼正解。

能正确转换的,就是对的。

不能正确转换的,就是错的。

就这么简单。

3楼头脑清晰,我要加他为好友去也。

@_@
zhl1015 2008-06-18
  • 打赏
  • 举报
回复
就是兼容两种,长日期和短日期的,呵呵,谢谢了~~
zhl1015 2008-06-18
  • 打赏
  • 举报
回复
1楼,能改能也支持只有年月日的吗?
Go 旅城通票 2008-06-17
  • 打赏
  • 举报
回复
在firefox自动转换时间,把多出的时间增加,日.........

在ie下如果不满足时间类型会return false.........
Go 旅城通票 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mingxuan3000 的回复:]
JScript code
<script>



function checkDate(dStr)
{
dStr=dStr.replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")return false;
else return true;
}
alert(checkDate("2008-5-30 3:15:90"))

</script>





有问题吧?
[/Quote]

晕,确实有问题...在firefox没问题,在ie下加时间时验证错误,没有时间是对的.....汗.......
fuyou001 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mingxuan3000 的回复:]
\2 第2个()的匹配
把\2把换成(- ¦\/)也可以
[/Quote]
还不明白,怎么这么笨!
mingxuan3000 2008-06-17
  • 打赏
  • 举报
回复

<script>



function checkDate(dStr)
{
dStr=dStr.replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")return false;
else return true;
}
alert(checkDate("2008-5-30 3:15:90"))

</script>


有问题吧?
sd5816690 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showbo 的回复:]
JScript codefunction checkDate(dStr)
{
dStr=dStr.replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")return false;
else return true;
}


//测试用例
if(!checkDate("2008-5-1 3:15:13"))alert("时间类型错误!=====测试1");
if(!checkDate("2008-5-100 93:15:13"))alert("时间类型错误!=====测试2");
if(!checkDate("2008-13-1 93:15:13"))alert("时间类型错误!=====测试3");
[/Quote]

支持!!!
Go 旅城通票 2008-06-17
  • 打赏
  • 举报
回复
其实就是先把字符串转换为创建时间类型可以接受的字符串类型(正确的是以/来分隔年月日),然后转换为时间类型,如果转换失败时是NaN,然后对比下就知道是否为正确的时间类型了


转换为时间类型这样的话不需要考虑闰年什么的

mingxuan3000 2008-06-17
  • 打赏
  • 举报
回复
换成(- ¦\/)有点问题
mingxuan3000 2008-06-17
  • 打赏
  • 举报
回复
\2 第2个()的匹配的结果
fuyou001 2008-06-17
  • 打赏
  • 举报
回复
function checkDate(dStr)
{
dStr=dStr.replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")return false;
else return true;
}
5楼解释下正规@
mingxuan3000 2008-06-17
  • 打赏
  • 举报
回复
\2 第2个()的匹配
把\2把换成(- ¦\/)也可以
fuyou001 2008-06-17
  • 打赏
  • 举报
回复
顶一楼! var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
{1,2})\2(\d{1,2 这里的\2是什么意思?
你那也可验证:strDateTime("2008/5/1 9:15:13"))这种吧!
如果一楼的兄弟看到,烦麻指点一下迷津
!谢谢了!
Go 旅城通票 2008-06-17
  • 打赏
  • 举报
回复
function checkDate(dStr)
{
dStr=dStr.replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")return false;
else return true;
}


//测试用例
if(!checkDate("2008-5-1 3:15:13"))alert("时间类型错误!=====测试1");
if(!checkDate("2008-5-100 93:15:13"))alert("时间类型错误!=====测试2");
if(!checkDate("2008-13-1 93:15:13"))alert("时间类型错误!=====测试3");
xuStanly 2008-06-17
  • 打赏
  • 举报
回复
http://blog.csdn.net/xuStanly/archive/2008/03/16/2186411.aspx
Go 旅城通票 2008-06-17
  • 打赏
  • 举报
回复
var dStr="2008-5-1 93:15:13".replace(/-/g,"/")
if(new Date(dStr).toString()=="NaN")alert("时间格式不正确!")
else alert("时间格式正确!")
加载更多回复(2)
JavaScript核心技术 简介: 《JavaScript核心技术》对于各种浏览器、浏览器版本、JavaScript版本、DOM版本的介绍,有助于我们理解所遇到的各种新旧代码,使我们能够对这些代码做出正确的取舍。《JavaScript核心技术》还提供了一些使用JavaScript的最佳实践。无论是新手还是老手,这些如何正确使用JavaScript的经验都能帮助他们养成良好的编程习惯。《JavaScript核心技术》还介绍了一些调试和开发JavaScript的工具,这些工具无疑能够提高我们的开发效率。 《JavaScript核心技术》最后对于Ajax和几个流行的JavaScript库的介绍,无疑会开阔我们在JavaScript使用上的思路。 《JavaScript核心技术》是一本真正意义上的“新书”,不仅介绍了最新的JavaScript知识和方向,还完全覆盖了当今Web开发中关于JavaScript的所有重要话题,它使用了大量实例代码,图文并茂地讲解了使用JavaScript的各个层次和领域的内容。它不是一本参考手册,但却是一本值得拥有的教程。 JavaScript核心技术 目录: 前言 第1章JavaScript初探 1.1规范和实现相互交织的历史 1.2跨浏览器的不兼容性和其他常见的JavaScript传说 1.3你能用JavaScript来做什么 1.4JavaScript初探:“HelloWorld!” 1.5JavaScript沙箱 1.6可访问性和JavaScript的最佳实践 第2章JavaScript数据类型与变量 2.1变量的标识 2.2作用域 2.3简单类型 2.4常量:有名称但不改变 2.5习题 第3章运算符和语句 3.1JavaScript语句的格式 3.2简单语句 3.3条件语句和程序流 3.4条件运算符 3.5逻辑运算符 3.6高级语句:循环语句 3.7习题 第4章JavaScript对象 4.1对象构造函数 4.2Number对象 4.3String对象 4.4正则表达式与RegExp 4.5有专门用途的对象:Date和Math 4.6JavaScript数组 4.7关联数组:不是数组的数组 4.8习题 第5章函数 5.1定义函数:细数所有方式 5.2回调函数 5.3函数和递归 5.4嵌套函数函数闭包和内存泄漏 5.5作为对象的函数 5.6习题 第6章捕捉事件 6.1O级DOM上的事件句柄 6.22级DOM上的事件句柄 6.3产生事件 6.4习题 第7章表单与即时验证 7.1访问表单 7.2把事件附加在表单上:不同的方法 7.3选择列表 7.4单选按钮和复选框 7.5输入字段和JiT正则表达式 7.6习题 第8章沙箱及之上的cookie、连通性和隐私 第9章基础浏览器对象 第10章DOM:文档对象模型 第11章创建定制的JavaScript对象 第12章构建动态网页:在脚本中加入样式 第13章使用Ajax 第14章好消息:生动的程序库!令人惊异的Web服务!有趣的API! 附录习题答案

87,907

社区成员

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

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