正则表达式日期格式

时间:2017-02-25 15:38:46

标签: regex

我需要三个正则表达式的帮助来进行日期验证。要验证的日期格式应为:
- MMyy
- ddMMyy
- ddMMyyyy

此外:
我希望正则表达式匹配上述格式中的确切位数。例如,1月应该是01,而不是1:

060117 // ddMMyy格式:好的 06117 // ddMMyy格式:不好

不允许使用连字符和斜杠,例如:06-01-17或06/01/17。

以下是我使用的正则表达式:es。我不能让他们完全正确。

string regex_MMyy = @"^(1[0-2]|0[1-9]|\d)(\d{2})$";    
string regex_ddMMyy = @"^(0[1-9]|[12]\d|3[01])(1[0-2]|0[1-9]|\d)(\d{2})$";
string regex_ddMMyyyy = @"^(0[1-9]|[12]\d|3[01])(1[0-2]|0[1-9]|\d)(\d{4})$";

var test_MMyy_1 = Regex.IsMatch("0617", regex_MMyy); // Pass
var test_MMyy_2 = Regex.IsMatch("617", regex_MMyy);  // Pass, do NOT want this to pass.
var test_ddMMyy_1 = Regex.IsMatch("060117", regex_ddMMyy); // Pass
var test_ddMMyy_2 = Regex.IsMatch("06117", regex_ddMMyy);  // Pass, do NOT want this to pass.
var test_ddMMyyyy_1 = Regex.IsMatch("06012017", regex_ddMMyyyy); // Pass
var test_ddMMyyyy_2 = Regex.IsMatch("0612017", regex_ddMMyyyy); // Pass, do NOT want this to pass.  

(如果任何人都可以在每个月中获得允许的日期,并将闰年考虑在内,那将是一个巨大的奖励:))。

谢谢,
最诚挚的问候

0 个答案:

没有答案