更好/有效的方法来检查用户 url 输入

本文关键字:检查 用户 url 输入 方法 有效 更好 | 更新日期: 2023-09-27 18:37:28

我知道还有其他检查方法和类似的问题,但仍在尝试调试我的代码段。它检查用户是否输入了没有"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 类?有什么建议吗?

提前谢谢。

更好/有效的方法来检查用户 url 输入

Uri类中有一个验证某些 uri 的方法,您可以按如下方式使用它:

void checkIfUrlRight(string s)
{
  if (Uri.IsWellFormedUriString(s, UriKind.RelativeOrAbsolute))
  { 
    urlRTextBox.Text = page;
    loadPage(page);
  }
}

编辑:

请注意,实际上并非每个 URI 都是 URL(在此处描述)。但我相信对于您的情况(当所有 URL 都是 URI 时),这是最简单的验证方法。