如何在正则表达式中忽略大小写?
我有一个 ASP.NET MVC 应用程序。有一个名为 File 的实体,它有一个名为 Name 的属性。
using System.ComponentModel.DataAnnotations;
public class File {
...
[RegularExpression(@"([^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ..., ErrorMessage = "Invali File Name"]
public string Name{ get; set; }
...
}
有一个正则表达式验证器可以检查文件扩展名。 有没有一种快速方法可以告诉它忽略扩展名的大小写,而不必显式地将大写变体添加到我的验证表达式中? 我需要这个正则表达式验证器用于服务器端和客户端。 “(?i)”可以用于服务器端,但这不适用于客户端
I have an asp.net MVC application. There is an entity called File that it has a property called Name.
using System.ComponentModel.DataAnnotations;
public class File {
...
[RegularExpression(@"([^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ..., ErrorMessage = "Invali File Name"]
public string Name{ get; set; }
...
}
There is a RegularExpressionValidator that checks file extensions.
Is there a quick way I can tell it to ignore the case of the extension without having to explicitly add the upper case variants to my validation expression?
I need this RegularExpressionValidator for both Server-side and client-side.
"(?i)" can be used for Server-side, but this doesn't work client-side
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我能想到的一种方法是编写一个自定义验证属性:
然后用它装饰你的模型:
最后在客户端上编写一个适配器:
当然,你可以将客户端规则外部化到一个单独的javascript文件中,这样你就不必到处重复。
One way I can think of is writing a custom validation attribute:
and then decorate your model with it:
Finally write an adapter on the client:
Of course you could externalize the client rules into a separate javascript file so that you don't have to repeat it everywhere.
嗯,你能出示客户端验证吗?
嗯,我认为您可以创建自己的从正则表达式派生的属性,并添加忽略大小写的功能。
Umh could you show the Client Validation?
umh I think that you can create your own Attribute that derives from RegularExpression and add the functionallity to ignore case.