|
来源:csdn
发表日期:2008年1月29日
作者:
|
如何用Javascript判断输入是否是日期格式如2000-12-31 23:60:60,请指教
parse 方法:根据返回值来判断。可以判断多种格式的日期。 作用:解析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数。 Date.parse(dateVal) 其中必选项 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串,或者是一个从 ActiveX(R) 对象或其他对象中获取的 VT_DATE 值。 说明 parse 方法返回一个整数值,这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。 parse 方法是 Date 对象的一个静态方法。正因为它是一个静态方法,它是通过下面例子中所示的方法被调用的,而不是作为一个已创建 Date 对象的一个方法被调用。 var datestring = "November 1, 1997 10:15 AM"; Date.parse(datestring) 下面这些规则决定了 parse 方法能够成功地解析那些字符串: 短日期可以使用“/”或“-”作为日期分隔符,但是必须用月/日/年的格式来表示,例如"7/20/96"。 以 "July 10 1995" 形式表示的长日期中的年、月、日可以按任何顺序排列,年份值可以用 2 位数字表示也可以用 4 位数字表示。如果使用 2 位数字来表示年份,那么该年份必须大于或等于 70。 括号中的任何文本都被视为注释。这些括号可以嵌套使用。 逗号和空格被视为分隔符。允许使用多个分隔符。 月和日的名称必须具有两个或两个以上的字符。如果两个字符所组成的名称不是独一无二的,那么该名称就被解析成最后一个符合条件的月或日。例如,"Ju" 被解释为七月而不是六月。 在所提供的日期中,如果所指定的星期几的值与按照该日期中剩余部分所确定的星期几的值不符合,那么该指定值就会被忽略。例如,尽管 1996 年 11 月 9 日实际上是星期五,"Tuesday November 9 1996" 也还是可以被接受并进行解析的。但是结果 Date 对象中包含的是 "Friday November 9 1996"。 JScript 处理所有的标准时区,以及全球标准时间 (UTC) 和格林威治标准时间 (GMT)。 小时、分钟、和秒钟之间用冒号分隔,尽管不是这三项都需要指明。"10:"、"10:11"、和 "10:11:12" 都是有效的。 如果使用 24 小时计时的时钟,那么为中午 12 点之后的时间指定 "PM" 是错误的。例如 "23:15 PM" 就是错误的。 包含无效日期的字符串是错误的。例如,一个包含有两个年份或两个月份的字符串就是错误的。 示例 下面这个例子说明了 parse 方法的用法: function GetTimeTest(testdate){ var s, t; // 声明变量。 var MinMilli = 1000 * 60; // 初始化变量。 var HrMilli = MinMilli * 60; var DyMilli = HrMilli * 24; t = Date.parse(testdate); // 解析 testdate。 s = "There are " // 创建返回的字符串。 s += Math.round(Math.abs(t / DyMilli)) + " days " s += "between " + testdate + " and 1/1/70"; return(s); // 返回结果。 }
1.短日期可以使用“/”或“-”作为日期分隔符,但是必须用月/日/年的格式来表示,例如"7/20/96"。 2.以 "July 10 1995" 形式表示的长日期中的年、月、日可以按任何顺序排列,年份值可以用 2 位数字表示也可以 3.用 4 位数字表示。如果使用 2 位数字来表示年份,那么该年份必须大于或等于 70。 4.括号中的任何文本都被视为注释。这些括号可以嵌套使用。 5.逗号和空格被视为分隔符。允许使用多个分隔符。 6.月和日的名称必须具有两个或两个以上的字符。如果两个字符所组成的名称不是独一无二的,那么该名称就被解析成最后一个符合条件的月或日。例如,"Ju" 被解释为七月而不是六月。 7.在所提供的日期中,如果所指定的星期几的值与按照该日期中剩余部分所确定的星期几的值不符合,那么该指定值就会被忽略。例如,尽管 1996 年 11 月 9 日实际上是星期五,"Tuesday November 9 1996" 也还是可以被接受并进行解析的。但是结果 Date 对象中包含的是 "Friday November 9 1996"。 8.JScript 处理所有的标准时区,以及全球标准时间 (UTC) 和格林威治标准时间 (GMT)。 9.小时、分钟、和秒钟之间用冒号分隔,尽管不是这三项都需要指明。"10:"、"10:11"、和 "10:11:12" 都是有效的。 10.如果使用 24 小时计时的时钟,那么为中午 12 点之后的时间指定 "PM" 是错误的。例如 "23:15 PM" 就是错误的。 11.包含无效日期的字符串是错误的。例如,一个包含有两个年份或两个月份的字符串就是错误的。
这是个判断日期的. function checkm() { if (isInvalidDate(register.bday.value,"-")==true){ alert("请正确填写您的出生日期(例如:1981-11-12)!"); register.bday.focus(); return (false); } }
bday要改成你的输入框的name,不对你就看楼上的吧.
如果只是检测输入格式是否合法用正则表达式比较方便
我倒觉得可以自己编写一个函数把年月日都提取出来判断也可以
楼上的各位: parse()方法可以支持多种格式的日期输入,自己编写是可以,一般是限定在一种方法里。要是那样,加进去一个日历控件更好,直接选择就可以了。免得手敲字符了。你们说对不对?
很高兴看到大家的发言,我最后添加了一个VBScript的函数解决了这个问题,不过我还是觉得qisanyou的说法有道理(编辑:网站学习网)
|
|
|
|