我知道还有其他检查和问题的方法,但仍然试图调试我的代码。它会检查用户是否输入了没有“http://”
的网址 //page is a global variable, a string in this case
//loadPage(string url) loads the requested page;
private void checkIfUrlRight(string s)
{
if (!s.StartsWith("http://"))
{
if (!s.Contains("www."))
{
s += "http://www.";
page = s;
}
else
{
s += "http://";
page = s;
}
urlRTextBox.Text = page;
loadPage(page);
}
else
page = s;
urlRTextBox.Text = page;
loadPage(page);
}
我在加载页面时遇到错误,它说Url是错误的。实际上我的代码是否有任何意义,或者我是否只需要切换到复杂的东西,如正则表达式(通过网页查看,看起来很苛刻,不要从哪里开始)或者玩c #Uri课程?有什么建议吗?
提前致谢。
答案 0 :(得分:2)
Uri
类中有一个验证某些uri的方法,您可以按如下方式使用它:
void checkIfUrlRight(string s)
{
if (Uri.IsWellFormedUriString(s, UriKind.RelativeOrAbsolute))
{
urlRTextBox.Text = page;
loadPage(page);
}
}
编辑:
请注意,实际上并非每个URI都是URL(描述为here)。但我相信你的情况(当所有URL都是URI时),这是最简单的验证方式。