仅在字符串开头验证URL为“ http://”或“ https://”

问题描述 投票:0回答:2

我正在尝试以“ http://”或“ https://”开头的字符串。一些例子:

http://example.com->好

http://www.example.com->好

https://example.com->好

https://www.example.com->好

http:///example.com->错误

http:/www.example.com->错误

https // example.com->错误

我有这个正则表达式,但是效果不佳:

str.match(/^(http|https):\/\/?[a-d]/);

...请帮忙吗?

javascript regex url url-validation
2个回答
0
投票
尝试这个

str.match(/^(http(s)?:\/\/)[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/)


0
投票
老实说,我不知道为什么人们为每件简单的事情都需要正则表达式。如果您需要做的只是比较字符串的开头,则在某些情况下(例如您要查询的内容)进行检查(“在字符串的开头用'http://'或'https://'“):

var lc = str.toLowerCase(); var isMatch = lc.substr(0, 8) == 'https://' || lc.substr(0, 7) == 'http://';

© www.soinside.com 2019 - 2024. All rights reserved.