是否有任何正则表达式将验证绝对URL和与Javascript相关的URl。
我确实有以下Regex,它对绝对URL工作得相当好,除了它强制要求HTTP部分的部分。我希望它是可选的。
这是Regex:
/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
感谢
答案 0 :(得分:4)
尝试
/((http|ftp|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
它使(http|ftp|https):\/\/
(http://)部分可选
答案 1 :(得分:0)
此人接受以下内容:
http://example.com
https://example.com.com
/mypage
/my/page/
但不是这样的
httpa://example.com
my/page/
www
正则表达式为:
/(^(https?:\/\/|\/)(?:www\.|(?!www))?[^\s])/
答案 2 :(得分:0)
答案 3 :(得分:-1)
快速回答,修改了Arun接受'/ page','/ page / subpage','page / subpage'的答案
/(\/?[\w-]+)(\/[\w-]+)*\/?|(((http|ftp|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?)/gi
但实际上,使用RegExp验证网址永远不会是esay。很多边缘案例,如'./page','.. / page'等。
仔细分析您的要求,记下主要的测试用例,写一个RegExp将它们全部传递出去。并且要小心表现。