Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript模式MM/YYYY的Reg Exp_Javascript_Regex - Fatal编程技术网

Javascript模式MM/YYYY的Reg Exp

Javascript模式MM/YYYY的Reg Exp,javascript,regex,Javascript,Regex,是否有人对日期模式MM/YYYY的javascript reg exp进行了引用? 我一直在研究,只是为了找到通常的MM/DD/YYYY等等。怎么样: 这里是正则表达式的文本:/[\d]{2}\/[\d]{4}/ 或者,看起来您需要m和ys之间的空间,因此: /[\d]{2}\/[\d]{4}/怎么样: 这里是正则表达式的文本:/[\d]{2}\/[\d]{4}/ 或者,看起来您需要m和ys之间的空间,因此: /[\d]{2}\/[\d]{4}/(0?[1-9]| 1[0-2])\/(\d{4}

是否有人对日期模式MM/YYYY的javascript reg exp进行了引用? 我一直在研究,只是为了找到通常的MM/DD/YYYY等等。

怎么样:

这里是正则表达式的文本:
/[\d]{2}\/[\d]{4}/

或者,看起来您需要m和ys之间的空间,因此:

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

怎么样:

这里是正则表达式的文本:
/[\d]{2}\/[\d]{4}/

或者,看起来您需要m和ys之间的空间,因此:

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

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

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

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


只需删除与日期(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})$/);

只需删除与日期(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})$/);

您不需要为此使用正则表达式

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
将计算为
NaN
。因此,在某种程度上,您是在验证字符串


如果你想要正则表达式

 ^\d{2}/\d{4}$

您不需要为此使用正则表达式

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
将计算为
NaN
。因此,在某种程度上,您是在验证字符串


如果你想要正则表达式

 ^\d{2}/\d{4}$
我的答案是:

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

示例:

我的答案是:

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



示例:

问题出在哪里?只需取出匹配“/DD”的部分。对JavaScript正则表达式的引用:。问题是什么?只需取出匹配“/DD”的部分。对JavaScript正则表达式的引用:。根据使用情况,您可能希望使用
^
$
来锚定它。如果您只匹配
\d
,则不需要
[]
。这个问题实际上在
/
周围有空格。如果没有空格,它将是MM/YYYY。事实上,我应该在开头添加“^”,以确保精确匹配
/^[\d]{2}\/[\d]{4}/
@Ben。请小心使用此解决方案。它允许13-99个月。查看dav的解决方案,使您的月份为1-12个月。根据使用情况,您可能希望使用
^
$
将其固定,如果您只匹配
\d
,则不需要
[]
。这个问题实际上在
/
周围有空格。如果没有空格,它将是MM/YYYY。事实上,我应该在开头添加“^”,以确保精确匹配
/^[\d]{2}\/[\d]{4}/
@Ben。请小心使用此解决方案。它允许13-99个月。查看dav的解决方案,使您的月份为1-12。您没有回答问题,但…@Bluetoft如果字符串格式不正确,它将抛出
NaN
。。。但是您仍然没有按照op的要求提供正则表达式。@Anirudh问题的形式是“我如何使用正则表达式实现此功能?”而您的回答是“这是一个不使用正则表达式的解决方案”。这不是你的解决方案是否找到有效的月份和年份的争论,这是一个不满足问题要求的论点。@RyanWH仍然必须通过将其解析为int来单独检查月和年是否有效。不需要regex您没有回答问题,尽管…@Bluetoft如果字符串格式不正确,它将抛出
NaN
。。。但是您仍然没有按照op的要求提供正则表达式。@Anirudh问题的形式是“我如何使用正则表达式实现此功能?”而您的回答是“这是一个不使用正则表达式的解决方案”。这不是你的解决方案是否找到有效的月份和年份的争论,而是不满足问题要求的争论。@RyanWH仍然需要通过将其解析为int来单独检查月份和年份是否有效。不需要正则表达式