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

tcomlyy6  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(144)

请不要把这个标为重复,我已经看到了很多其他的问题。
我有一组需要验证的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验证正则表达式标准,每个人都可以使用,或者我们只是使用适合我们需要的正则表达式?

wfveoks0

wfveoks01#

我相信下面的正则表达式将工作的所有网址验证:

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

vyswwuz22#

此小变更也将允许http/https以外的其他协议

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

相关问题