无法完成我的网站验证器正则表达式

时间:2011-12-28 22:52:10

标签: regex

我正准备参加考试,而且我仍然坚持使用RegEx验证。我想验证一个输入的网站。我在这里寻求解决方案,但没有找到任何能满足我需求的解决方案。例如,应验证这些链接:

这不应该:

目前我得到的最接近的表达是:

http://(www\.)([^\.]+)(\.com)(/([^\.]+)(\.html|\.aspx))?

它可能有点脏,因为这是我与正则表达式的第一笔交易

但是在regexTester中它突出显示/接受(我正在使用正则表达式):

我的正则表达式应该改变什么?

P.S。对不起这么长的故事,我只是一个初学者。

1 个答案:

答案 0 :(得分:0)

我看到的唯一区别是它是否有多个顶级域名(如co.uk或com.au)。

因此,我检查的是:

^.*www.[a-zA-Z]*.[a-zA-Z]{1,3}/([a-zA-Z].*|)

实际上只检查它是否只有一个TLD,并且可选择在URL中有更多部分。

我不验证它是否以HTTP://开头,因为这不是URL的实际要求。我也不检查文档类型(html或aspx),因为它可以是变量,甚至也可以命名。