使用正则表达式在 JS 中验证 url [重复]

Posted

技术标签:

【中文标题】使用正则表达式在 JS 中验证 url [重复]【英文标题】:Validate url in JS using Regular Expression [duplicate] 【发布时间】:2013-12-06 19:54:51 【问题描述】:

我需要一个正则表达式来验证具有以下条件的 URL:

例如:

www.google.com

www.google.com/[any_params]

http://google.com/[any_params]

https://google.com/[any_params]

google.com/[any_params]

我使用了这个正则表达式:

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

但在这种情况下它返回 false:www.google.com

或在这种情况下返回 true:

感谢您的帮助!

【问题讨论】:

www.google.com/ 是路径相对 URL,因为它没有协议。 ftp://http://https:// 是必需的,使用您拥有的正则表达式。如果您想让它成为可选的,请将其包装在 () 中并在其后放置 ? 嗨,迈克,我在上面添加了新的必需项。嗨,Lan,你能帮我解决上面的要求吗? 嗯,我现在试试。谢谢大家,我会反馈的。 大家好,感谢您的帮助。就我而言,它是有效的。非常感谢 【参考方案1】:

以下正则表达式应该适合您:

var regex = /^(ftp:\/\/|http:\/\/|https:\/\/)?(\w+:0,1\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!-\/]))?$/;

【讨论】:

以上是关于使用正则表达式在 JS 中验证 url [重复]的主要内容,如果未能解决你的问题,请参考以下文章

js验证正整数

求正则表达式, 第一位大于0的正整数,直接可以在onkeyup事件中 使用的!

js 正则验证输入框只允许输入正整数或者负整数?

js验证非0开头的不超过6位的正整数,求正则表达式

Js 常用正则表达式

js如何正则验证密码