我在link中找到了波斯日历的正则表达式,但它是yyyy/MM/dd
格式。格式化为dd/MM/yyyy
和MM/dd/yyyy
的任何建议?
答案 0 :(得分:4)
(?:1[234]\d{2})(\/|\-)(?:0?[1-9]|1[0-2])(\/|\-)(?:0?[1-9]|[12][0-9]|3[01])$
支持年份在1200到1499之间
答案 1 :(得分:2)
我正在使用此代码并且效果很好:
首先定义一个常量,如下面的代码:
public const string PersianDateRegex = @"(?:1[23]\d{2})\/(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[12][0-9]|3[01])$";
因此,为了测试它,您可以使用以下代码:
if (Regex.IsMatch(farsiDate, PersianDateRegex))
{
...
}
答案 2 :(得分:-1)
在ASP.NET MVC中尝试此操作以验证波斯日期:
[RegularExpression(@"^$|^([1۱][۰-۹ 0-9]{3}[/\/]([0 ۰][۱-۶ 1-6])[/\/]([0 ۰][۱-۹ 1-9]|[۱۲12][۰-۹ 0-9]|[3۳][01۰۱])|[1۱][۰-۹ 0-9]{3}[/\/]([۰0][۷-۹ 7-9]|[1۱][۰۱۲012])[/\/]([۰0][1-9 ۱-۹]|[12۱۲][0-9 ۰-۹]|(30|۳۰)))$", ErrorMessage = "Not Valid")]
有关验证波斯日期的详细信息,请访问this link。