Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于网站url验证的Regexp_C#_.net_Asp.net_Regex - Fatal编程技术网

C# 用于网站url验证的Regexp

C# 用于网站url验证的Regexp,c#,.net,asp.net,regex,C#,.net,Asp.net,Regex,如何通过正则表达式验证这些URL: http://123.12.12.124:1234/default.html http://www.mysite.com http://www.mysite.com/ https://www.mysite.com anyProtocol://www.mysite.com www.mysite.com mysite.com 及 及 如果您正试图在.NET中构建自己的url重写引擎,那么我强烈建议您使用现有的产品。链接内置的IIS 7 但除此之外,这里有一点提示

如何通过正则表达式验证这些URL:

http://123.12.12.124:1234/default.html
http://www.mysite.com
http://www.mysite.com/
https://www.mysite.com
anyProtocol://www.mysite.com
www.mysite.com
mysite.com


如果您正试图在.NET中构建自己的url重写引擎,那么我强烈建议您使用现有的产品。链接内置的IIS 7

但除此之外,这里有一点提示,说明您实际上需要检查什么:

我会简单地检查它是否匹配

http://www.mysite.com/ 无论如何rotocol://www.mysite.com www.mysite.com mysite.com

既然你说的是anyprotocol,甚至只是mysite.com,那么我会检查mysite.com是否在url中,并且在url后面最多没有“/”

http://www.my.site.com/default 无论如何rotocol://www.my.site.com/default.anyExtension

无论如何rotocol://www.my.site.com/ www.my.site.com my.site.com


在这里,您只需检查url是否包含我的“my.site.com”,并添加一个(0,1)出现的“default”,因为您不关心扩展名。

与其自己验证url,不如查看该类。如果您试图创建一个地址无效的
Uri
,它将抛出
UriFormatException
。快速示例:

var valid = false;
try { 
    new Uri(someUrl);
    valid = true;
}
catch (UriFormatException) {}

如果未包含该方案(
http://
part),则该方案将无效,因为它不是有效的URI,因此您应该首先尝试使输入URL正常。

那么,您自己尝试了什么?你的正则表达式哪一部分有问题?是的。你必须自己开始,不是吗?我们不是来为您的问题提供完整的解决方案的。我们在这里帮助您找到特定问题的答案。我们很乐意为您提供指导,就像下面的Marthin一样,但您很少会发现有人愿意编写一个完整的解决方案。如何在客户端做到这一点?新的System.Uri在服务器端运行。@Alex,请编辑您的问题以添加此新信息。它从一开始就应该在那里你的问题中没有提到这一点,你应该用JavaScript寻找解决方案。您可以使用服务器端服务(使用
System.URI
)在客户端验证URI。如果你需要更多的帮助,试着问一个新问题。
http://www.my.site.com
anyProtocol://www.my.site.com/
https://www.my.site.com
www.my.site.com
my.site.com
var valid = false;
try { 
    new Uri(someUrl);
    valid = true;
}
catch (UriFormatException) {}