Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 如何验证此格式的日期(dd\mm\yyyy)_Javascript_Regex - Fatal编程技术网

Javascript 如何验证此格式的日期(dd\mm\yyyy)

Javascript 如何验证此格式的日期(dd\mm\yyyy),javascript,regex,Javascript,Regex,我有这个功能: var isValidDate = function (date) { var regEx = /^\d{2}\\d{2}\\d{4}$/; return date.match(regEx) !== null; }; 我想用以下表格验证我的日期: 2015年1月23日 我的问题是我的正则表达式是否好?您可以使用: var regEx = /^\d{2}\\\d{2}\\\d{4}$/; 反斜杠也需要转义 还请注意,原始字符串还需要使用\\来表示如下文字反斜杠: v

我有这个功能:

var isValidDate = function (date) {
   var regEx = /^\d{2}\\d{2}\\d{4}$/;
   return date.match(regEx) !== null;
};
我想用以下表格验证我的日期:

2015年1月23日

我的问题是我的正则表达式是否好?

您可以使用:

var regEx = /^\d{2}\\\d{2}\\\d{4}$/;
反斜杠也需要转义

还请注意,原始字符串还需要使用
\\
来表示如下文字反斜杠:

var matched = regEx.test('15\\11\\2015')
//=> true
对于匹配的
dd/mm/yyyy
regex应该是:

var regEx = /^\d{2}\/\d{2}\/\d{4}$/;
但是,这仍然不会使错误的日期无效,例如
13/13/2015

您可以使用:

var regEx = /^\d{2}\\\d{2}\\\d{4}$/;
反斜杠也需要转义

还请注意,原始字符串还需要使用
\\
来表示如下文字反斜杠:

var matched = regEx.test('15\\11\\2015')
//=> true
对于匹配的
dd/mm/yyyy
regex应该是:

var regEx = /^\d{2}\/\d{2}\/\d{4}$/;
但是,这仍然不会使错误的日期无效,例如
13/13/2015

您可以使用:

var regEx = /^\d{2}\\\d{2}\\\d{4}$/;
反斜杠也需要转义

还请注意,原始字符串还需要使用
\\
来表示如下文字反斜杠:

var matched = regEx.test('15\\11\\2015')
//=> true
对于匹配的
dd/mm/yyyy
regex应该是:

var regEx = /^\d{2}\/\d{2}\/\d{4}$/;
但是,这仍然不会使错误的日期无效,例如
13/13/2015

您可以使用:

var regEx = /^\d{2}\\\d{2}\\\d{4}$/;
反斜杠也需要转义

还请注意,原始字符串还需要使用
\\
来表示如下文字反斜杠:

var matched = regEx.test('15\\11\\2015')
//=> true
对于匹配的
dd/mm/yyyy
regex应该是:

var regEx = /^\d{2}\/\d{2}\/\d{4}$/;

然而,这仍然不会使错误的日期无效,例如2015年13月13日,正则表达式是不安全的。考虑<代码> 99/99/9999 < /代码>,改进的正则表达式可以读取<代码> /^ [0-3] \\/[01 ] \/[12 ] \d{3 } $ /。然而,这仍然接受像39/19/2999`这样的日期,这显然是非法的


虽然您可以进一步细化正则表达式,将单独的数字限制在有效范围内,但如果您想排除2月31日的可能性,它会变得相当复杂。我建议使用实际代码而不是正则表达式来执行此操作。

正则表达式不安全。考虑<代码> 99/99/9999 < /代码>,改进的正则表达式可以读取<代码> /^ [0-3] \\/[01 ] \/[12 ] \d{3 } $ /。然而,这仍然接受像39/19/2999`这样的日期,这显然是非法的


虽然您可以进一步细化正则表达式,将单独的数字限制在有效范围内,但如果您想排除2月31日的可能性,它会变得相当复杂。我建议使用实际代码而不是正则表达式来执行此操作。

正则表达式不安全。考虑<代码> 99/99/9999 < /代码>,改进的正则表达式可以读取<代码> /^ [0-3] \\/[01 ] \/[12 ] \d{3 } $ /。然而,这仍然接受像39/19/2999`这样的日期,这显然是非法的


虽然您可以进一步细化正则表达式,将单独的数字限制在有效范围内,但如果您想排除2月31日的可能性,它会变得相当复杂。我建议使用实际代码而不是正则表达式来执行此操作。

正则表达式不安全。考虑<代码> 99/99/9999 < /代码>,改进的正则表达式可以读取<代码> /^ [0-3] \\/[01 ] \/[12 ] \d{3 } $ /。然而,这仍然接受像39/19/2999`这样的日期,这显然是非法的


虽然您可以进一步细化正则表达式,将单独的数字限制在有效范围内,但如果您想排除2月31日的可能性,它会变得相当复杂。我建议使用实际代码而不是正则表达式来执行此操作。

您可以使用html5模式。 更好的模式
^([0-2]\d|3[0-1])\\(0\d|1[0-2])\\[1-2]\d{3}$
。它也将在正则表达式中工作


更好的
您可以使用html5模式。 更好的模式
^([0-2]\d|3[0-1])\\(0\d|1[0-2])\\[1-2]\d{3}$
。它也将在正则表达式中工作


更好的
您可以使用html5模式。 更好的模式
^([0-2]\d|3[0-1])\\(0\d|1[0-2])\\[1-2]\d{3}$
。它也将在正则表达式中工作


更好的
您可以使用html5模式。 更好的模式
^([0-2]\d|3[0-1])\\(0\d|1[0-2])\\[1-2]\d{3}$
。它也将在正则表达式中工作


更好的

我认为这样会更好。它有/而不是\^\d{2}\/\d{2}\/\d{4}$我认为这样会更好。它有/而不是\^\d{2}\/\d{2}\/\d{4}$我认为这样会更好。它有/而不是\^\d{2}\/\d{2}\/\d{4}$我认为这样会更好。它有/而不是\^\d{2}\/\d{2}\/\d{4}$最好不要在这里重新发明轮子,使用一个库,这样可能会做得更好。不要使用正则表达式进行日期验证:@Magrangs with momentjs,当我测试时刻(date,'DD/MM/YYYY',true)。isValid();总是true@Mercer那是因为日期有效吗?用你知道会失败的数据试试看。这是错误的,例如:时刻('12/33/2014','DD/MM/yyyyy')。isValid()@Magrangs为什么我测试这个时刻('29/01/2015564','DD/MM/yyyyy')。isValid();返回给我的是真的..?最好不要在这里重新发明轮子,使用一个库,这样可能会做得更好。不要使用正则表达式进行日期验证:@Magrangs with momentjs,当我测试时刻(日期,'DD/MM/YYYY',TRUE)。isValid();总是true@Mercer那是因为日期有效吗?用你知道会失败的数据试试看。这是错误的,例如:时刻('12/33/2014','DD/MM/yyyyy')。isValid()@Magrangs为什么我测试这个时刻('29/01/2015564','DD/MM/yyyyy')。isValid();返回给我的是真的..?最好不要在这里重新发明轮子,使用一个库,这样可能会做得更好。不要使用正则表达式进行日期验证:@Magrangs with momentjs,当我测试时刻(日期,'DD/MM/YYYY',TRUE)。isValid();总是true@Mercer那是因为日期有效吗?用你知道会失败的数据试试看。这是错误的,例如:时刻('12/33/2014','DD/MM/yyyyy')。isValid()@Magrangs为什么我测试这个时刻('29/01/2015564','DD/MM/yyyyy')。isValid();这是真的…?最好不要在这里重新发明轮子,使用a库,这样可能会做得更好。不要使用正则表达式进行日期验证:@Magrangs with momentjs,当我测试时刻(日期,'DD/MM/yyyyy',