使用Javascript正则表达式检查有效的URL

时间:2009-04-11 18:01:16

标签: javascript regex validation url

我应该使用什么表达式来检查javascript中的有效网址?

2 个答案:

答案 0 :(得分:7)

看一下基于RFC 1738自动生成的complete regular expression for URLs

答案 1 :(得分:1)

取决于您希望检查的复杂程度。

这是一个非常复杂的问题:

^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$

实际上,正则表达式在平台之间可以安静地移植。谷歌搜索中的大多数示例都可以在Javascript中使用,虽然可能会进行一些“味道”修改。