1

有人对日期模式 MM / YYYY 的 javascript reg exp 有参考吗?我一直在研究只是为了找到通常的 MM/DD/YYYY 等。

4

5 回答 5

6

怎么样:

这个文字在这里是一个正则表达式: /[\d]{2}\/[\d]{4}/

或者,您似乎想要 m 和 ys 之间的空间,所以:

/[\d]{2} \/ [\d]{4}/

于 2013-06-27T18:43:02.080 回答
5

(0?[1-9]|1[0-2])\/(\d{4})

这可以确保您获得一个有效的月份,无论是两位数还是一位数。我假设您不想限制年份。

http://rubular.com/r/W461W8GyHn

于 2013-06-27T18:43:01.957 回答
1

我的回答是:

(0[1-9]|1[0-2])/(\d{4}[^0-9])

示例:http ://regexr.com?35cl5

于 2013-06-27T19:07:13.630 回答
0

You don't need to use regex for this

var date=input.split("/");
var month=parseInt(date[0],10);
var year=parseInt(date[1],10);

if(isNaN(month) || isNaN(year))//invalid string
else //check if month and year is valid

parseInt would evaluate to NaN incase the format is not proper.So,in a way you are validating the string


If you want regex

 ^\d{2}/\d{4}$
于 2013-06-27T18:47:36.517 回答
0

只需删除与日期 (DD) 匹配的正则表达式部分。在这个类似的帖子中,答案

function parseDate(str) {
  var m = str.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);
  return (m) ? new Date(m[3], m[2]-1, m[1]) : null;
}

被给予。只需稍微编辑正则表达式以删除 2 个十进制匹配项之一,即可获得该功能

  var m = str.match(/^(\d{1,2})\/(\d{4})$/);
于 2013-06-27T18:46:41.927 回答