使用 JavaScript 的不同类型的网站 URL 的正则表达式

regular expression for website url with different types using javascript

本文关键字:URL 正则表达式 网站 JavaScript 使用 同类型      更新时间:2023-09-26

我正在使用JavaScript正则表达式进行Web url验证。我有很多正则表达式,但没有找到可以满足我要求的正则表达式。

var myRegExp =/^(?:(?:https?|ftp):'/'/)(?:'S+(?::'S*)?@)?(?:(?!10(?:'.'d{1,3}){3})(?!127(?:'.'d{1,3}){3})(?!169'.254(?:'.'d{1,3}){2})(?!192'.168(?:'.'d{1,3}){2})(?!172'.(?:1[6-9]|2'd|3[0-1])(?:'.'d{1,3}){2})(?:[1-9]'d?|1'd'd|2[01]'d|22[0-3])(?:'.(?:1?'d{1,2}|2[0-4]'d|25[0-5])){2}(?:'.(?:[1-9]'d?|1'd'd|2[0-4]'d|25[0-4]))|(?:(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)(?:'.(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)*(?:'.(?:[a-z'u00a1-'uffff]{2,})))(?::'d{2,5})?(?:'/[^'s]*)?$/i;

我还删除了httphttps在我的 url 之前

没有必要
var myRegExp =/^(?:'S+(?::'S*)?@)?(?:(?!10(?:'.'d{1,3}){3})(?!127(?:'.'d{1,3}){3})(?!169'.254(?:'.'d{1,3}){2})(?!192'.168(?:'.'d{1,3}){2})(?!172'.(?:1[6-9]|2'd|3[0-1])(?:'.'d{1,3}){2})(?:[1-9]'d?|1'd'd|2[01]'d|22[0-3])(?:'.(?:1?'d{1,2}|2[0-4]'d|25[0-5])){2}(?:'.(?:[1-9]'d?|1'd'd|2[0-4]'d|25[0-4]))|(?:(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)(?:'.(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)*(?:'.(?:[a-z'u00a1-'uffff]{2,})))(?::'d{2,5})?(?:'/[^'s]*)?$/i;

这是我上次尝试但没有成功的,我想要正则表达式,就像我的要求一样

www.google.com
www.google.us
www.google.com.us
www.google.net
www.google.org
www.google.co

我也在这里和其他链接尝试过

试试这个正则表达式。

为我工作..

/(ftp|http|https):'/'/('w+:{0,1}'w*@)?('S+)(:[0-9]+)?('/|'/(['w#!:.?+=&%@!'-'/]))?/

^(?:(?:https?|ftp):'/'/)?(?:'S+(?::'S*)?@)?(?:(?!10(?:'.'d{1,3}){3})(?!127(?:'.'d{1,3}){3})(?!169'.254(?:'.'d{1,3}){2})(?!192'.168(?:'.'d{1,3}){2})(?!172'.(?:1[6-9]|2'd|3[0-1])(?:'.'d{1,3}){2})(?:[1-9]'d?|1'd'd|2[01]'d|22[0-3])(?:'.(?:1?'d{1,2}|2[0-4]'d|25[0-5])){2}(?:'.(?:[1-9]'d?|1'd'd|2[0-4]'d|25[0-4]))|(?:(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)(?:'.(?:[a-z'u00a1-'uffff0-9]+-?)*[a-z'u00a1-'uffff0-9]+)*(?:'.(?:[a-z'u00a1-'uffff]{2,})))(?::'d{2,5})?(?:'/[^'s]*)?$

试试这个。请参阅演示。

https://regex101.com/r/dL7oF8/1

还有比

这更多的顶级域名。为什么不放松你的正则表达式到这样的东西?

var myRegExp = /^('w+'.)+('w+)$/;