我是一个非常新的正则表达式,我需要验证网站的网址与正则表达式通过java脚本-示例www.google.com
在我的例子中,Http是可选的
请帮帮我,非常感谢
发布于 2011-04-09 04:45:37
(http|https)://(\w-+.)+\w-+(/\w- ./?%&=*)?
来自:http://www.webpronews.com/validating-a-url-with-regular-expressions-2006-10
发布于 2011-04-09 05:19:04
下面是一个正则表达式,它会考虑URL是否包含用户名、是否为IP、验证一般的TLD以及更多。
^((http|https|ftp)\://)?([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$ 下面是它的工作原理:regex analyzer
这是从regexlib.com中获取的,并且只更改了方案(http、https等)部分是可选的,并用&替换了&。
更简单的版本
下面是一个更简单的版本,它在大多数情况下都运行良好:
^((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?((\S+.[a-z]{2,6})|([0-9\.]+))(:[0-9]+)?(\S+)?$下面是它的工作原理:regex analyzer
如果你感兴趣的话:
第二组:方案(如:http)
组3:用户名和密码(可选)
组4:主机名或IP
组5:如果组4是主机名,则该组是主机名(例如,stackoverflow.com)
Group 6:如果group 4是IP,则这是IP地址
组7:是端口(可选)
组8:是路径和查询,实际上是其余的(例如,/hello?world=foo)
在regexpal上试用一下。
https://stackoverflow.com/questions/5600593
复制相似问题