RT
在网上找了很多关于这方面的验证,但是,都不行var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";                          // 这个明显不行,输入任意四个字母就通过了。还有就是IP地址型的URL也不行,如http://192.168.10:8443/dd   这样也能通过···
所以请大家来探讨一下这个问题  谢谢

解决方案 »

  1.   

    你要的就是所有url的验证吗?
      

  2.   

    他这个太复杂了~你要验证什么样的。
    这个明显是正确的URL:http://192.168.10:8443/dd
    你的需求越明确,正则越清晰~
      

  3.   

    我一般用这样的
    http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
      

  4.   


    就是正常的URL都可以正常通过,谢谢
      

  5.   


    http://192.168.10:8443这个是正常的URL地址吗?不是IP地址类型的应该是4位的吧  192.168.10.1:8443这样的吧需求就是按照URL的规则来写的啊
      

  6.   

    你的那个正则包括的太多了
    一般用我3楼的验证就足够了~
    如果非要纠结于精确,那你1楼的那个也还不完善(当然那个正则是没问题的)。另外也会包含一些你认为不是URL的地址(其实他们是URL)
      

  7.   

    现在需要URL的验证比较精确  所以这样的判断有点问题  是否能通过两种情况来判断  一个是ip地址类型的URL,还一个是平常使用的   
    分情况来判断
      

  8.   

    现在需要URL的验证比较精确  所以这样的判断有点问题  是否能通过两种情况来判断  一个是ip地址类型的URL,还一个是平常使用的   
    分情况来判断