我要判断用户输入的一个网址是否合法,从哪些方面判断?
如果用正则表达式去写,应该怎么写?
我这边有两个正则表达式是判断url是否合法的,烦请高人帮忙看下对不对第一个:(([\w]+:)?//)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?第二个:^(\w+):\/\/([^/:]+)(:\d*)?([^#   ]*)

解决方案 »

  1.   

    ^http(s)?://(?!([\w-]+\.[\w-]+$))([\w-]+\.)+[\w-]+(/[\w-   ./?%&=]*)?
      

  2.   

    写法有很多,看你想实现到什么程度.关于正则表达式可以参考:
    http://www.hiwiz.com/NewsList.aspx?nc_id=WANGLUOBIANCHENG&searchType=1&keyWord=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
      

  3.   


     应该根据最标准的 URL 去判断验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$否则  我 输入URL; 百度 也可以转向:www.baidu.com你说 百度 是不是标准 的?
      

  4.   

    晕倒,这样的正则表达式谁看得懂啊
    一开始就不太对吧,我输入:httpssssssss://www.baidu.com应该符合的吧
    我建议lz还是先去找到url的标准说明才可能写出正确的正则,不然的话肯定会遗漏各种特殊情况的
      

  5.   

    这个问题只怕很难给出标准答案吧,简单的校验可以试试:
    (http://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?
      

  6.   

    不知道各位是如何校验url是否合法的?能不能说下
      

  7.   

    偶是这样校验滴public static bool IsUrl(string s)
    {
    string pattern = @"^(http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*$";
    return Regex.IsMatch(s, pattern, RegexOptions.IgnoreCase);
    }