javascript - 检查任何给定字符串是否是有效日期

标签 javascript

有谁知道有什么方法可以检查字符串是否是有效日期?我试图阻止无效日期,同时不强制任何类型的日期格式。基本上问题是这样的:

!!Date.parse('hello 1') === true

Javascript 可以从该字符串中计算出日期,因此,它是一个日期。我宁愿不是这样。有人吗?

最佳答案

去掉单词周围的空格会让你有多接近?它至少清除了“hello 1”之类的内容。

Date.parse('hello 1'.replace(/\s*([a-z]+)\s*/i, "$1")); // NaN
Date.parse('jan 1'.replace(/\s*([a-z]+)\s*/i, "$1")); // Valid

[更新] 好的,我们将替换字母和数字之间的所有非字母数字:

replace(/([a-z])\W+(\d)/ig, "$1$2")

关于javascript - 检查任何给定字符串是否是有效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594455/

相关文章:

javascript - ASP.NET MVC Razor <text> 标签不接受小于或等于运算符

javascript - 为什么在 tabs.js 中使用 new 关键字

javascript - 使用 XPage 或 HTML 打印页眉和页脚

javascript - 使用 JavaScript 和 lodash 汇总对象数组数据的最佳方法

javascript - 生成一个 10 的倍数的随机数

javascript - 如何在 node.js 中使用 sqlite3 执行批量插入?

javascript - 本地存储和ngrx存储

javascript - Angular.js 和 Node.js 获得 GET 而不是 POST

javascript - 使用 jQuery 反转日期的显示

javascript - 如何将变量传递到 Magento 中的 Data.php 中?