我想要正则验证表达式来验证是否只输入了年份(yyyy(或日期(yyyy-MM-dd(。
不得接受:
21,
23323
它应该接受任何四位数的整数值(比如2012(,也应该只接受年份(yyyy-MM-dd(格式。
您不需要为此使用regex。
我将使用以string[]
为参数的DateTime.TryParseExact
重载。
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
。将它们添加到您尝试验证的formats
阵列中。