有Uri.IsWellFormedUriString
和Uri.TryCreate
方法,但它们似乎为文件路径等返回true
。
为了进行输入验证,如何检查字符串是否为有效的(不一定是活动的) HTTP URL?
发布于 2011-09-28 18:30:34
尝试执行此操作以验证HTTP (uriName
是您要测试的URI ):
Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult)
&& uriResult.Scheme == Uri.UriSchemeHttp;
或者,如果您想同时接受HTTP和HTTPS URL作为有效URL(根据J0e3gan的注释):
Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
发布于 2016-05-05 20:56:56
这个方法在http和https中都工作得很好。只有一行:)
if (Uri.IsWellFormedUriString("https://www.google.com", UriKind.Absolute))
发布于 2011-09-28 14:14:34
在Uri.TryCreate
之后,你可以检查Uri.Scheme
,看看它是否是超文本传输协议。
https://stackoverflow.com/questions/7578857
复制相似问题