C# Date RegularExpression在FireFox上不起作用

C# Date RegularExpression在FireFox上不起作用,c#,regex,asp.net-mvc,C#,Regex,Asp.net Mvc,在firefox 33.02中,10/10/2014起作用,但10-10-2014不起作用 然而,在chrome中,10/10/2014和10-10-2014都起作用 为什么? 编辑: 我发现无效的不是表达式,而是MVC中的某些东西 型号: ^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$ cshtml: [Required(ErrorMessage = "Field is required")] [RegularEx

在firefox 33.02中,
10/10/2014
起作用,但
10-10-2014
不起作用

然而,在chrome中,
10/10/2014
10-10-2014
都起作用

为什么?

编辑:

我发现无效的不是表达式,而是MVC中的某些东西

型号:

^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$
cshtml:

[Required(ErrorMessage = "Field is required")]
[RegularExpression(@"^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$", ErrorMessage = "Date is incorrect")]
[DataType(DataType.Date)]
public DateTime BevBday { get; set; }
使用这个,在Firefox中它将显示为

字段BevBday必须是日期

在chrome中不会出现同样的错误。

适合我(在firefox的web控制台中测试)


改成这个,现在可以用了

var re = /^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$/;
// /^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$/

re.test('10/10/2014');
// true

re.test('10-10-2014');
// true

谢谢,我更新了问题,这对你仍然有效吗?好的……我现在看到“c#”标签了。这是某种服务器代码(asp.net?),它动态生成html/js?从最初的问题来看,这并不明显。
var re = /^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$/;
// /^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])[-\/](19|20)\d\d$/

re.test('10/10/2014');
// true

re.test('10-10-2014');
// true
    [Required(ErrorMessage = "Field is required")]
    [DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd.MM.yy}", ApplyFormatInEditMode = true)]
    public DateTime BevBday { get; set; }