首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >url的正则表达式

问url的正则表达式
EN

Stack Overflow用户
提问于 2011-04-09 04:44:39
回答 2查看 350关注 0票数 0

我是一个非常新的正则表达式,我需要验证网站的网址与正则表达式通过java脚本-示例www.google.com

在我的例子中,Http是可选的

请帮帮我,非常感谢

EN

回答 2

Stack Overflow用户

发布于 2011-04-09 04:45:37

(http|https)://(\w-+.)+\w-+(/\w- ./?%&=*)?

来自:http://www.webpronews.com/validating-a-url-with-regular-expressions-2006-10

票数 0
EN

Stack Overflow用户

发布于 2011-04-09 05:19:04

下面是一个正则表达式,它会考虑URL是否包含用户名、是否为IP、验证一般的TLD以及更多。

代码语言:javascript
复制
^((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等)部分是可选的,并用&替换了&。

更简单的版本

下面是一个更简单的版本,它在大多数情况下都运行良好:

代码语言:javascript
复制
^((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上试用一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5600593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档