Javascript 正则表达式匹配以http或斜杠开头的url
我正在尝试匹配以http://或/开头的字符串 这将过去Javascript 正则表达式匹配以http或斜杠开头的url,javascript,regex,Javascript,Regex,我正在尝试匹配以http://或/开头的字符串 这将过去 http://www.google.com /the/path/home.aspx 我很确定这将匹配http,但我不知道如何适应可选的/ /^(https?:\/\/)/i 这应该起作用: /^((https?:\/)?\/)/i 您可以使用交替运算符(|),如下所示: /^(\/|https?:\/\/)/i 更多详细信息使用由符号|表示的“或”运算符,如下所示: /^(https?:\/\/|\/)/i
http://www.google.com
/the/path/home.aspx
我很确定这将匹配http,但我不知道如何适应可选的/
/^(https?:\/\/)/i
这应该起作用:
/^((https?:\/)?\/)/i
您可以使用交替运算符(|
),如下所示:
/^(\/|https?:\/\/)/i
更多详细信息使用由符号|
表示的“或”运算符,如下所示:
/^(https?:\/\/|\/)/i
^^^
作为对其他不太熟悉正则表达式的人的一个说明(因为这有点“跳出框框思考”),它说
http://
(可选s
)是可选的,然后/
是强制性的。这方便地匹配了http://
、https://
和/
,因为最后一个/
在所有情况下都是必需的。使用|
的其他答案同样有效,这只是另一种思考方式。我给专家系统的答案是因为我使用了他的第一个答案,但我真的很喜欢他的创造力。谢谢你的洞察力,肖恩