我正在使用正则表达式/^\d{1,2}[\/-]\d{1,2}[\/-]\d{4}$/
在 javascript 中验证 MM/DD/YYYY。
但目前它将验证日期,如 13/22/2012 、 10/45/2012。我该如何纠正它。
我正在使用正则表达式/^\d{1,2}[\/-]\d{1,2}[\/-]\d{4}$/
在 javascript 中验证 MM/DD/YYYY。
但目前它将验证日期,如 13/22/2012 、 10/45/2012。我该如何纠正它。
删除正则表达式并简单地使用split()
function。
通过将字符串拆分为子字符串,将 String 对象拆分为字符串数组。
一旦您分别拥有日期的每个部分,您就可以使用简单的条件语句对其进行验证。
var dateStr = "MM/DD/YYYY";
var dateParts = str.split('/'); // ["MM", "DD", "YYYY"]
请记住,不应信任在客户端使用 JavaScript 完成的任何验证!任何用户都可以进入并操作您的 JavaScript。您也应该始终在服务器端实现验证。通常客户端验证更多的是用户体验......
我建议使用库来实现这一点,不要重新发明轮子。其中最流行的是 jquery UI datepicker,它还提供了一个不错的弹出日历来选择日期。