【问题标题】:Regex to validate particular url正则表达式来验证特定的 url
【发布时间】:2018-01-17 22:10:38
【问题描述】:

我正在使用 angularjs。我想对我的 url 字段使用验证。我是正则表达式的初学者。我希望 url 应该以“https”或“http”开头,后跟一个字符串(这个字符串可以是字符串或 ip)。例如,https://localhosthttp://100.100.100.100 应该是有效的,ftp://localhost 应该是无效的,因为它以 ftp 开头。

我正在使用 ng-pattern 来验证这个字段。我应该使用什么正则表达式?感谢您的帮助。

【问题讨论】:

  • 过去的美好时光在哪里,在哪里遇到问题,想想看,阅读手册和文档,尝试几件事,失败,尝试其他几件事,问朋友,更加努力,最后想出一个比世界上任何其他事情都更引以为豪的解决方案?
  • 你做到了吗?

标签: angularjs validation


【解决方案1】:

下面的正则表达式应该可以做到,或者至少是一个好的开始:

https?:\/\/[0-9A-z.]+

它的作用:

  • http 与字符 http 逐字匹配(区分大小写)
  • s? 从字面上匹配字符 s(区分大小写)
    • ? 量词 - 匹配 0 到 1 次,尽可能多次
  • : 匹配字符 : 字面意思(区分大小写)
  • / 匹配字符 / 字面意思(区分大小写)
  • / 匹配字符 / 字面意思(区分大小写)
  • [0-9A-z.]+ 匹配列表中存在的任何字符(0-9 = 从 0 到 9 的所有数字,A-z = 所有字母不区分大小写,. = 也匹配 . 字符)
    • + 量词 - 匹配一次到无限次,尽可能多次

顺便说一句,这很简单,您可以自己弄清楚。谷歌搜索 url regex 提供了大量其他可能的解决方案。

如果您有兴趣尝试您的正则表达式,这个网站将对您非常有用:regex101

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2013-08-24
    相关资源
    最近更新 更多