Isdate javascript代码

时间:2013-04-12 12:01:11

标签: javascript vb.net firefox date

当用户在文本框中键入日期为05/04并按Enter键时,我使用以下代码检查它是否为日期。代码是

 window.execScript("dim successReturn:successReturn=Isdate('" + ctl.value + "')","VBScript");

这适用于IE,如果我输入05/04,则返回true。但是代码在其他浏览器中不起作用。请帮忙

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码。

var comp = "05/04".split('/');
var d = parseInt(comp[0], 10);
var m = parseInt(comp[1], 10);
var date = new Date(null, m - 1, d);
var validDateFormat = false;
if (date.getMonth() + 1 == m && date.getDate() == d) {
    validDateFormat = true;
}
如果日期正确,

validDateFormat将为true。请注意,上面的代码中考虑了dd / mm格式。

答案 1 :(得分:1)

window.execScript是一种仅限IE的方法。 Firefox,Safari或Opera不支持它。 Dottoro.com声称Chrome支持,但它已不再适用(如果有的话)。除了IE4 +之外,Another resource声称不支持任何主流浏览器。除了IE之外,MDN声称不支持。

据我所知,除了Internet Explorer之外,其他任何浏览器都有 no 方式来执行VBscript。当然,除非执行解释的javascript库 - 但我也不知道这些库。您必须将VBscript翻译或编译为javascript。

关于您的代码,请参阅Ali's solution手动解析日期。