正则expression式来testingstring是以http://还是https://开头

我试图设置一个正则expression式来检查一个string的开始,如果它包含http://https://它应该匹配它。

我怎样才能做到这一点? 我正在尝试下面这是不工作的:

 ^[(http)(https)]:// 

你对[]使用是不正确的 – 注意[]表示一个字符类 ,因此只能匹配一个字符。 expression式[(http)(https)]转化为“匹配a (ht ,a, p ,a )s 。 (重复的字符被忽略。)

尝试这个:

 ^https?:// 

如果您真的想要使用替代,请使用以下语法:

 ^(http|https):// 
 ^https?:// 

根据具体情况,您可能必须避开正斜杠。

不区分大小写:

 var re = new RegExp("^(http|https)://", "i"); var str = "My String"; var match = re.test(str); 

这应该工作

 ^(http|https):// 

^https?:\/\/(.*)其中(.*)https://之后的所有内容都匹配