相关疑难解决方法(0)

如何检查对象是否为日期?

我在网页上有一个恼人的错误:

date.GetMonth()不是函数

所以,我想我做错了什么.变量date不是类型的对象Date.如何在Javascript中检查数据类型?我试图添加一个if (date),但它不起作用.

function getFormatedDate(date) {
    if (date) {
       var month = date.GetMonth();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我想编写防御性代码并防止日期(不是一个)被格式化,我该怎么做?

谢谢!

更新:我不想检查日期的格式,但我想确保传递给方法的参数getFormatedDate()是类型Date.

javascript date

527
推荐指数
12
解决办法
39万
查看次数

检查字符串是否为日期值

检查值是否为有效日期,允许使用任何已知日期格式的简单方法是什么.

比如我有值10-11-2009,10/11/2009,2009-11-10T07:00:00+0000它都应该被视为日期值,和值200,10,350,不应被视为一个日期值.如果可能的话,最简单的检查方法是什么?因为时间戳也是允许的.

javascript date-format

183
推荐指数
11
解决办法
25万
查看次数

为什么Chrome Dev Tool会将日期__proto__显示为无效日期?

我知道__proto__已被弃用(或不是标准的一部分)而且所有这些但我仍然很好奇当它看到无效日期时我看到的__proto__值...

var myDate = new Date(1331869050000);
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-devtools

89
推荐指数
1
解决办法
2万
查看次数

如何在JavaScript中使用格式"mm/dd/yyyy"验证日期?

我想使用格式验证输入的日期格式mm/dd/yyyy.

我在一个站点中找到了以下代码然后使用它但它不起作用:

function isDate(ExpiryDate) { 
    var objDate,  // date object initialized from the ExpiryDate string 
        mSeconds, // ExpiryDate in milliseconds 
        day,      // day 
        month,    // month 
        year;     // year 
    // date length should be 10 characters (no more no less) 
    if (ExpiryDate.length !== 10) { 
        return false; 
    } 
    // third and sixth character should be '/' 
    if (ExpiryDate.substring(2, 3) !== '/' || ExpiryDate.substring(5, 6) !== '/') { 
        return false; 
    } 
    // extract month, day and year …
Run Code Online (Sandbox Code Playgroud)

javascript validation date

88
推荐指数
8
解决办法
32万
查看次数

从iOS/Android上的web-app调用本机日期选择器

我正在尝试使用HTML5在不同平台上运行本机Web应用程序来探索可行性.目前,一个<input type="date">领域只是在Android和iOS上打开标准软键盘.我想在未来移动操作系统的软键盘将包括日期选择器等 - 就像<select>今天调用本机选择一样.

由于这不是在Android或iOS上实现,而是在本机UI中实现,因此Web应用程序是否可以调用本机日期选择器,即单击时?

这将使我们可以停止使用jQuery mobile和YUI等JavaScript库.

如果我的问题不清楚,请告诉我.先感谢您 :-)

javascript iphone html5 android ios

77
推荐指数
4
解决办法
12万
查看次数

如何验证日期?

我正在尝试测试,以确保日期是有效的,如果有人进入,2/30/2011那么它应该是错误的.

我怎么能在任何日期这样做?

javascript validation

67
推荐指数
3
解决办法
13万
查看次数

45
推荐指数
1
解决办法
8万
查看次数

如何使用片刻测试字符串是否有效?

我想测试输入的日期和时间是否有效.

这可以用时间来完成,因为日期和时间测试使用javascript似乎是一场噩梦.(花了几个小时).

测试数据看起来像这样.

无效

invalid = ""
invalid = " "
invalid = "x"
invalid = "1/1"
invalid = "30/2/2015"
invalid = "2/30/2015"
Run Code Online (Sandbox Code Playgroud)

已验证

isvalid = "1/12/2015"
isvalid = "1/12/2015 1:00 PM";
Run Code Online (Sandbox Code Playgroud)

尝试了各种javascript方法,试用数小时失败.

我想当下会有一些东西.所以试过以下,所有这些都不起作用,因为我不认为时刻是这样的.

var valid = moment(input).isDate()
var valid = moment().isDate(input)
Run Code Online (Sandbox Code Playgroud)

我的时间格式是"dd/mm/yyyy"

javascript validation jquery date momentjs

39
推荐指数
2
解决办法
6万
查看次数

Safari JS无法解析YYYY-MM-DD日期格式?

在我正在进行的项目中,我需要验证输入的日期 <input type="date">

使用Safari 4/5(在Mac OSX上),Javascript无法解析格式的日期YYYY-MM-DD,NaN而是返回而不是预期的纪元时间戳.

我正在使用以下技术在提交表单之前验证字段:

//value = '2010-06-21'
var stamp = Date.parse(value);
if (isNaN(stamp)) {
    //notify user
} else {
    value = new Date(stamp).format_mysql();
}
Run Code Online (Sandbox Code Playgroud)

format_mysql()原型函数在哪里将日期(正确)格式化为MySQL日期时间格式(YYYY-MM-DD).

-'s 替换为' /(YYYY/MM/DD)会产生"正确"的时间戳.

我应该注意,该字段应该接受任何日期格式,而不仅仅是YYYY-MM-DD,虽然我想,但我不能使用像Date.js这样的库

我该如何解决这个问题,还是有更好的方法来解析/验证日期?

javascript safari validation datetime

37
推荐指数
2
解决办法
4万
查看次数

JavaScript检测有效日期

可能重复:
在JavaScript中检测"无效日期"日期实例

我使用以下内容来检测有效日期:

var text = $('#Date').val();
var date = Date.parse(text);

if (isNaN(date)) {
      // Invalid date
}
Run Code Online (Sandbox Code Playgroud)

但发现Date.parse认为以下是有效日期(mm/dd/yyyy)

  • 二零一一年二月三十零日
  • 2011年11月31日

当天数超过该月的总天数时,还有其他任何方法可以检测无效日期吗?

更新:一个更大的问题是jQuery验证插件也没有将其检测为无效日期!

解:

根据@ Guffa的评论,我创建了以下函数来验证日期:

function validDate(text) {

    var date = Date.parse(text);

    if (isNaN(date)) {
        return false;
    }

    var comp = text.split('/');

    if (comp.length !== 3) {
        return false;
    }

    var m = parseInt(comp[0], 10);
    var d = parseInt(comp[1], 10);
    var y = parseInt(comp[2], 10);
    var date = new Date(y, m - 1, d);
    return (date.getFullYear() == y && …
Run Code Online (Sandbox Code Playgroud)

javascript jquery date jquery-validate

37
推荐指数
1
解决办法
7万
查看次数