首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式日期格式m/dd/yy-m/dd/yy

正则表达式日期格式m/dd/yy-m/dd/yy
EN

Stack Overflow用户
提问于 2013-03-10 05:24:39
回答 2查看 119关注 0票数 0

我正在尝试用Javascript制作一个与m/dd/yy-m/dd/yy格式匹配的正则表达式(所以它看起来应该像4/11/12-5/12/13)。我已经测试了我的第一部分,它似乎在工作,但是我似乎无法通过第一部分。以下是我所拥有的(它将适用于4/11/12,但不适用于-5/12/12

代码语言:javascript
运行
复制
var myDateRE = /^((0?[13578]|10|12)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))[-]$/ ;
EN

回答 2

Stack Overflow用户

发布于 2013-03-10 05:36:38

这将查找您的子字符串

代码语言:javascript
运行
复制
1?\d\/[01]\d\/\d{2}-1?\d\/[01]\d\/\d{2}/

您可以添加一些括号来确定每个值

代码语言:javascript
运行
复制
/(1?\d)\/([01]\d)\/(\d{2})-(1?\d)\/([01]\d)\/(\d{2})/.exec('4/11/12-5/12/13')

输出

代码语言:javascript
运行
复制
["4/11/12-5/12/13", "4", "11", "12", "5", "12", "13"]
票数 0
EN

Stack Overflow用户

发布于 2013-03-10 05:49:30

我的建议

DEMO

代码语言:javascript
运行
复制
var re = /^\d{1,2}\/\d{1,2}\/\d{1,2}-\d{1,2}\/\d{1,2}\/\d{1,2}$/
var str = "4/11/12-5/12/13"

function testDate(str) {
  var parts = str.split("/");
  var date = new Date(str);
  return parts[0] == date.getMonth()+1 && 
         parts[1] == date.getDate()    && 
         parts[2] == String(date.getFullYear()).substring(2);
}

if (str.match(re)) {
    alert(testDate(str.split("-")[0]));
    alert(testDate(str.split("-")[1]));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15316088

复制
相关文章

相似问题

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