最简单也最让我头疼的问题——时间的客户端校验

就是一个输入框

1<input name="" type='text,value=""'/>

客户输入时间如2003-3-3 8:8:22、2003-8-8、2003/5/5 14:22等;要求在客户端校验其合法性(对SQL SERVER时间格式)。
做web程序几年,就是没解决这个问题!也用过/做过一些客户端的判断,但都不能完全满足要求!就只好在服务器端用vbscript函数isdate()来做。这样当然不如在客户端做合适了。
---------------------------------------------------------------

1<input onblur="f=value;execScript('a=IsDate(f)','vbscript');alert(a)"/>

---------------------------------------------------------------
我对阿信给出的这个方法用以下一些日期/时间进行了测试,完全正确:
2003-3-8
3/8/2003
2003/2/8
5/16/2005
2003年3月3日
3月3日2005年
3月3日
2003-3-9 8:00
2003-9-5 15:33:31
甚至,年月日之间有空格都没问题!

据我所知道的一些代码,好象时间格式的有效而完整的校验,都做得不怎么样,(指客户端javascript),但往往消耗了程序员门许多的时间!现在竟然可以用这么一条语句来实现,虽然简单,但效益无穷!故强烈推荐精华,一定大益天下!

当然,这里介绍的其实不仅仅是时间日期格式的判断了,实际是给出了一个方法,就是在javascript里如何调用vbscript函数,而这才是最重要的!

Published At
Categories with Web编程
Tagged with
comments powered by Disqus