有Uri.IsWellFormedUriString和Uri.TryCreate方法,但它们似乎返回true文件路径等。
Uri.IsWellFormedUriString
Uri.TryCreate
true
我如何检查字符串是否是有效的(不一定是活动的)HTTP URL,以进行输入验证?
尝试执行以下操作以验证HTTP URL(uriName您要测试的URI):
uriName
Uri uriResult; bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;
或者,如果您想同时接受HTTP和HTTPS URL(根据J0e3gan的评论):
Uri uriResult; bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);