日期(yyyy / MM / dd)或年份(yyyy)的正则表达式验证器

时间:2015-07-06 06:47:06

标签: c# regex datetime

我想要定期验证表达式来验证只输入年份(yyyy)或日期(yyyy-MM-dd)。

不能接受:

21,
23323

它应该接受任何四位数的整数值(比如2012),它也应该只接受年份(yyyy-MM-dd)格式。

1 个答案:

答案 0 :(得分:2)

你不需要使用正则表达式。

我会使用DateTime.TryParseExact overload作为参数。

string[]

你在问题​​中说string s = "2012"; DateTime dt; var formats = new[] {"yyyy", "yyyy-MM-dd"}; if(DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { // Your string is a valid DateTime for yyyy or yyyy-MM-dd format. } ,但你在标题中说yyyy-MM-dd。将它们添加到您尝试验证的yyyy/MM/dd数组中。