网址的正则表达式

时间:2014-11-27 04:13:36

标签: javascript regex

我希望当用户在最后没有https://http:///的情况下输入他们的域时提交该表单。这是正则表达式。

https://google.com   wrong
http://google.com    wrong
google.com           correct
subdomain.google.com correct
google.com/          wrong

请告诉我这个

的正则表达式是什么

3 个答案:

答案 0 :(得分:3)

^(?!https?:\/\/)\w+(\.\w+)+$

你可以尝试一下。参见演示。

http://regex101.com/r/oE6jJ1/41

^(?!https?:\/\/)(?!.*?\/$)[\w./]+$

你可以试试这个,你有google.com/something之类的输入。见demo。

http://regex101.com/r/oE6jJ1/40

答案 1 :(得分:0)

而不是@vks的回答,我会做的更简单:^[\w.]+\.[a-z]+$。这可以确保有一个单词,并且有一段时间"。"然后是一些小写字母。

我希望有所帮助!

答案 2 :(得分:0)

您想要的是“完全限定的域名”(FQDN),而不是URL。 FQDN regexp如下(来自this answer):

(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\.)+[a-zA-Z]{2,63}$)

更简单的正则表达式可能导致违反RFC的FQDN太长,允许不允许的字符或不允许的位置中的字符(例如-.-a..a__.com与我在本页面上的其他一些建议相匹配,但不是有效的FQDN)。