Javascript RegExp使用端口验证URL或使用端口(JS)验证IP
我需要一个健壮的RegExp,用端口验证URL或用端口验证IP,例如 >正确 >正确 我搜索了一下,但没有找到一个同时检查两者的表达式Javascript RegExp使用端口验证URL或使用端口(JS)验证IP,javascript,regex,Javascript,Regex,我需要一个健壮的RegExp,用端口验证URL或用端口验证IP,例如 >正确 >正确 我搜索了一下,但没有找到一个同时检查两者的表达式 isUrlValid(input) { const regex = '^((https:|http:|[/][/]|www.)([a-z]|[A-Z]|[:0-9]|[/.])*)$'; const url = new RegExp(regex, 'g'); return url.test(input); } 试试这个 ^(?:http(s)?:
isUrlValid(input) {
const regex = '^((https:|http:|[/][/]|www.)([a-z]|[A-Z]|[:0-9]|[/.])*)$';
const url = new RegExp(regex, 'g');
return url.test(input);
}
试试这个
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+:\d*
您的第二个域不包含本例中的点-我有这个
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)*:\d*
试试这个
^-锚定至管柱起点。
https?:\/\/| www.-匹配http://或https://或www。。
?:[a-zA-Z]+\d+\.\d+.\d+.\d+
?:-使组不被捕获。
[a-zA-Z]+-一次或多次匹配任何字母,如果还需要数字,则添加0-9。
|:交替作为逻辑或工作。
\d+\。\d+。\d+。\d+-匹配IP地址的数字格式。
:\d{4}-将匹配4位数字,您可以根据您的用例进行调整。
$-锚定到字符串的末尾。
另外,为了提高性能,您可以在开始时使用?:将组设置为非捕获组。为了可读性,我故意不添加它们 那不匹配http://something:4200 :P它确实匹配http://123.456.78.900:foobar,这似乎也是错误的。我修正了我的答案
^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{4}$