是否有任何正则表达式可以验证 JavaScript 的绝对 URL 和相关 URl。
我确实有以下正则表达式,它对绝对 URL 非常有效,除了它强制 HTTP 部分的部分。我希望它是可选的。
这是正则表达式:
/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
谢谢
是否有任何正则表达式可以验证 JavaScript 的绝对 URL 和相关 URl。
我确实有以下正则表达式,它对绝对 URL 非常有效,除了它强制 HTTP 部分的部分。我希望它是可选的。
这是正则表达式:
/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
谢谢
尝试
/((http|ftp|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
它使(http|ftp|https):\/\/
(http://) 部分是可选的
这个接受以下内容:
http://example.com
https://example.com.com
/mypage
/my/page/
但不是像
httpa://example.com
my/page/
www
正则表达式是:
/(^(https?:\/\/|\/)(?:www\.|(?!www))?[^\s])/
快速回答,修改了 Arun 的回答以接受 '/page', '/page/subpage', 'page/subpage'
/(\/?[\w-]+)(\/[\w-]+)*\/?|(((http|ftp|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?)/gi
但实际上,使用 RegExp 验证 url 从来都不是件容易的事。很多边缘案例,比如'./page','../page'等。
仔细分析你的需求,写下主要的测试用例,写一个正则表达式通过它们。并注意性能。