【问题标题】:javascript url regexp restrict multiple http(s)/www [duplicate]javascript url regexp限制多个http(s)/www [重复]
【发布时间】:2023-03-25 11:55:02
【问题描述】:

这是我的正则表达式

var url_reg = /^(http[s]?:\/\/|ftp:\/\/)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|in|au)+/;

它适用于像 https://www.google.com 这样的单一输入,但是
它允许双重或更多“http/https/www”,如下所示 -

https://www.google.com/https://www.google.com/

url 也可以包含像 google.com/folder/file 这样的文件夹

我需要验证有效 url 的单次出现。

谁能帮帮我?

【问题讨论】:

  • 把\/?$放在最后一个/之前
  • 另外 https://www.google.com/https://www.google.com/ 实际上是一个有效的 url IIRC
  • @Liam 这是 JavaScript :p 不是 C#
  • @EaterOfCode 不过,正则表达式可以在两种语言中使用。
  • 显然还没有完全清醒,然后试试这个Regular expression for URL validation (in JavaScript)

标签: javascript regex url


【解决方案1】:

要验证 URL,您可以使用正则表达式。这就是我使用的。根据 URL 规范的有效 URL。您提供的 URL 实际上是 URL spec 的有效 URL。

/^((((https?|ftps?|gopher|telnet|nntp):\/\/)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*';\/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:]])?$/

这是从OSWAP借来的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 2018-03-06
    • 2018-11-10
    • 2018-07-25
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多