在我的“ServiceEditModel”类中,我有一个带有typeof Uri的属性Url。为了验证,我搜索一个Regex,检查填写在我的“编辑”页面上的Url是否有效。
正则表达式应该检查
Regex所在的我的代码如下所示:
[Required(ErrorMessageResourceType = typeof(Resources.ApplicationTemplate), ErrorMessageResourceName = "UrlRequired")]
[RegularExpression("REGEX COMES HERE", ErrorMessageResourceType = typeof(Resources.ApplicationTemplate), ErrorMessageResourceName = "InvalidUrl")]
public Uri Url { get; set; }
我已经找过正则表达但却找不到合适的正则表达,因为这实际上是我对Regex的第一次体验。
感谢您的帮助!
修改
我更新了我的正则表达式,以便它还允许带有“ - ”字符的网址,例如http://www.comsoft-direct.ch/
更新了正则表达式:^(http|https):\/\/([\w\d + (\-)+?]+\.)+[\w]+(\/.*)?$
答案 0 :(得分:4)
此正则表达式应根据您的约束检查简单方案。你可以很容易地玩它并改进它(我强烈推荐,首先是因为它在这种状态下非常简单,其次是因为你是一个正则表达式的初学者:))。
^(http|https):\/\/[\w\d]+\.[\w]+(\/[\w\d]+)$
上查看
基本解释:
(http|https):\/\/
应以http
或https
开头,然后是://
[\w\d]+
后跟N个字母和/或数字
\.[\w]+
后跟一个dot
和一组字母。例如:.com
,.net
等(请注意,您必须更改为\.[\d\w]+
以允许数字)
(\/[\w\d]+)
跟随,可选,/
和一组字母和/或数字(例如:/questions
)
注意:如果您想要一个完整的通用网址验证器,那么您必须谷歌。