URL正则表达式:必需的协议和可选的www

时间:2016-10-23 09:23:55

标签: regex

应该通过:

http://google.com
http://google.com/
http://www.google.com

(与https相同)

不应该通过:

http://www.google
www.google.com

这个似乎很接近:

^(((http(?:s)?\:\/\/)|www\.)[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}(?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+((\.[a-zA-Z]{2,4})?)(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$

,但它通过了:

http://www.go
www.google.com

2 个答案:

答案 0 :(得分:1)

<Scene key="sceneOne" component={SceneOne} />
<Scene key="sceneOne" component={SceneTwo} />

见工作:http://regexr.com/3egdt

细分:

(?:https?:\/\/)(?:www.)?.+\.com\/?

答案 1 :(得分:1)

var reg = /^http(s)?:\/{2}(w{3}\.)?(\w+)\.com(\/)?$/;

var domains = ['http://google.com', 'https://www.google.com', 'google.com'];

domains.forEach(function (domain) {
  console.log(reg.test(domain))
});

希望这有帮助!