我需要使用Javascript来验证URL输入,其中除不安全的http协议以外的所有URL都是有效的。
有效URL的示例:
https://example.com/
https://example.com/path
application://example.com/path
application://example
无效网址示例:
http:\\example.com
我已经尝试过否定的前瞻,但它不起作用:
^(?!http[s]{0}).*:\/\/.*$
如何编写正则表达式,它将仅排除http协议(必须包含其他协议,例如https)?
您可以这样使用它:
^(?!http:)[^:]+:\/\/.+$
(?!http:)
为负前瞻,如果字符串以http:
开头,则匹配失败,从而使http://...
URL的匹配失败。
但是请注意,此正则表达式不会执行复杂的URL验证,它只是避免了http:
URL /的匹配失败>
您可以使用URL api
并将protocol
属性与http:
匹配