C#使用正则表达式验证域名是否合法

 

/// <summary>
/// 验证域名是否合法
/// </summary>
/// <param name="str">指定字符串</param>
/// <returns></returns>
public static bool IsDomain(string str)
{
    string pattern = @"^(http://|https://)([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$";
    Regex reg = new Regex(pattern);
    return reg.IsMatch(str);
}

//调用方式:
if (!IsDomain(url))
{
    MessageBox.Show("请输入正确的网址\r\n(以http://或者https://开头的域名)", "提示");
    return;
}