使用正则表达式验证URL

时间:2013-11-06 05:11:01

标签: javascript regex

有人请帮忙。

我正在尝试编写一些正则表达式来在抓取网页时消除文件。 我有像

这样的网址

允许的网址:
http://example.com/about/
http://example.com/test.html
http://example.com/about/careers.html

我需要消除是否有任何页面不是html / xml页面,如下面的URL。

不允许/不需要的网址:
http://example.com/download/file_download.tar.gz
http://example.com/download/file.iso
http://example.com/download/something.dll

如何编写正则表达式来消除无效的URL? 我正在使用javascript来实现这一点。

我试过这样的事情。

URL = 'http://example.com';
filename = URL.substring(URL.lastIndexOf("/")+1, URL.length);
if(filename.match(/^#/g) || filename.match(/#$/g) || filename.match(/[^html]/g) || filename.match(/[^ ]/g)){    // filename contains id, 

2 个答案:

答案 0 :(得分:0)

使用以下正则表达式过滤您的网址

(((http://)|(http://www.)|(www.))(example.com)([\/A-z]*)((.html)|(.xml))*)

答案 1 :(得分:0)

只需尝试/^(.*(?:\/|html|htm|php|xml))\s*$/

if (filename.match(/^(.*(?:\/|html|htm|php|xml))\s*$/)) {
    // yupp, it's ok
}