使用正则表达式在 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章