这一直让我疯狂。正则表达式的URL白名单
我需要构建一个URL的白名单的正则表达式的单个表达式,以允许我的网站链接到。 他们应该是这样的形式:
*.microsoft.com/*
所以下面的网址是有效的:
http://digital.microsoft.com/audio/somefile.wmv
http://sharepoint.microsoft.com/pages/p1
与以下无效:
http://badsite.microsoft.com.me
http://www.microsoft.com.me/runthis
我需要一个正则表达式的表达,这将使有效微软网站进行链接,但阻止我提交链接的单词microsoft.com在他们的恶意网站。
任何帮助表示赞赏!
UPDATE
基于由@ruakh答案,我能够调整表达式匹配我的情况:我 将迎来他作为答案。
表达:^([a-z|A-Z])+?://([^/]+[.])?(microsoft[.]com|MICROSOFT[.]COM)?(/.*)?$
此表达式正确匹配下面:
http://test.microsoft.com/?page=1
http://msevents.microsoft.com
https://myevents.microsoft.com/somesubsite/Event.aspx?EventID=56456&Culture=en-US
mms://digital.microsoft.com/456/videos/23800_str.wmv
http://go.microsoft.com/?linkid=9775098
http://GO.MICROSOFT.COM/?linkid=9775098
,正确不匹配以下:
http://me.microsoft.com.au
http://microsoft.com.mysite.com
http://microsoft.com.mysite.com/blah
mms://microsoft.com.mysite.com
你有有效的微软ccSLD的列表(microsoft.com.au,microsoft.com.tr等)? – 2012-01-06 23:12:03
@Greg,我已经广泛搜索这个网站,并没有找到类似于我的帖子。我很久以前使用了RegEx,并且因为时间紧迫而想要一些我可以快速插入的东西。 – 2012-01-06 23:25:11
@现在,我会很高兴与其中的* microsoft.com *匹配的网址。谢谢。 – 2012-01-06 23:25:48