Javascript 用于URL验证的通用标准正则表达式?

Javascript 用于URL验证的通用标准正则表达式?,javascript,regex,url,Javascript,Regex,Url,注:请不要将此标记为重复,我看到了许多其他问题。 我有一组要验证的URL,如下所示: https://pqr-aaa.abc.xyz.com:8383 http://172.24.100.200:6767 还有更多。我正在用javascript验证它们。我看到了很多问题,找到了我要找的正则表达式。这似乎适合我的需要: ^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-

注:请不要将此标记为重复,我看到了许多其他问题。
我有一组要验证的URL,如下所示:

https://pqr-aaa.abc.xyz.com:8383

http://172.24.100.200:6767

还有更多。我正在用javascript验证它们。我看到了很多问题,找到了我要找的正则表达式。这似乎适合我的需要:

^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?|^((http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$


我的问题是,是否有一个供所有人使用的URL验证正则表达式的通用标准,还是我们只使用适合我们需要的正则表达式?

我相信下面的正则表达式适用于所有URL验证:

^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$

如果有一篇帖子询问URL验证的通用Regexp,并且有一个答案提供了这样的Regexp,为什么这个问题不应该被标记为dup?我看到了这个问题,我在问是否有一个到处都严格遵循的标准:(对我来说,这看起来像是在问一个RegExp,但也有一个。嗯,有点像,另请参阅。bobince的答案似乎有点过时,尽管仍然正确地回答了RegExp。看看MDN。其他模式如何,比如ftp。。?