首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证引擎:更改日期格式dd-M-yy的Regex

jQuery验证引擎:更改日期格式dd-M-yy的Regex
EN

Stack Overflow用户
提问于 2014-11-26 09:28:16
回答 1查看 784关注 0票数 0

用于验证日期格式的JS脚本:

代码语言:javascript
复制
"date": {                    
                    //  Check if date is valid by leap year
            "func": function (field) {
                    //var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
                    var pattern = new RegExp(/([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4}/);
                    var match = pattern.exec(field.val());
                    if (match == null)
                       return false;

                    /*var year = match[1];
                    var month = match[2]*1;
                    var day = match[3]*1;*/
                    var year = match;
                    var month = match[2];
                    var day = match[3];

                    var date = new Date(day, month - 1, year); // because months starts from 0.
                    return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
                },                      
             "alertText": "* Invalid date, must be in DD-MM-YYYY format"
                },

在这里,regex已经更改为使用dd-M-yy格式。regex是有效的,但当datepicker输入为true时,它仍然显示验证错误。

我如何使日期格式为dd-M-yy,即26-Nov-2014,如果格式正确,它将不提供验证?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 09:53:04

试试这个

代码语言:javascript
复制
var pattern = new RegExp(/([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{4})/);
var match = pattern.exec(field.val());
if (match == null)
 return false;

var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
var year = match[3];
var month = match[2];
var day = match[1];

var date = new Date(day, month - 1, year); // because months starts from 0.
return (date.getFullYear() == year && date.getMonth() == months.indexOf(month) && date.getDate() == day);

http://jsfiddle.net/mw56tnej/12/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27145478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档