javascript - javascript中只有一个url验证的正则表达式

标签 javascript regex validation url

目前我正在使用以下正则表达式

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

它验证 url 就像 https://scores.arrowsight.com/scores/ORoom/Hospital%20A1/Hospital%20A2 但它不应该验证 url 之类的 http://www.google.co.in/http://www.google.co.in/ 上面的 url 不应该允许,但它允许 http://www.google.co.in/http://www.google.co.in/ 有人可以帮我修改这个吗? 提前致谢。

最佳答案

尝试使用负前瞻的正则表达式:

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

Live Demo

关于javascript - javascript中只有一个url验证的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010252/

相关文章:

javascript - 用于时间跟踪的正则表达式验证

javascript - 正则表达式没有按预期工作?

python - 在 Python 正则表达式中使用变量

正则表达式捕获的内容超出预期

javascript - Jquery AJAX .error 产生错误 "Cannot read property fieldErrors of undefined"

javascript - 如何将带有 href 属性的元素与 React-router 结合使用?

javascript - 添加 div 作为节点的唯一子节点

javascript - 如何在 dojo 应用程序构建配置文件中加载 json 文件?

asp.net 必填字段验证器禁用输入按钮表单提交

HTML5 元验证