正则表达式仅匹配具有TLD的URL

时间:2019-01-29 17:21:41

标签: javascript regex

我知道有无穷无尽的正则表达式可以验证URL,但是我发现的所有内容都存在问题。我需要一个正则表达式将匹配上的所有HTTP或HTTPS URL,但无法验证,如果连接不具有顶级域名,如果缺少一个子不验证。如果可能的话,还需要匹配完整的url段。

以下是的网址的实施例不应验证

https

以下是一些应验证的URL示例:

https://www
https://www.
https://www.exampledomain

我一直在使用以下正则表达式...

https://www.axiamed.com
https://www.axiamed.com/independent-software-vendors/

...但它得到比赛的最后上面说我不想对比赛列出的3个网址的。不知道从这里去哪里。有人能指出我正确的方向吗?

由于任何人愿意帮助!

3 个答案:

答案 0 :(得分:0)

这是您遇到问题的示例javascript代码

var result =/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/|ftp:\/\/www\.|ftp:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test("https://www.axiamed.com/independent-software-vendors/");
if(result)
alert("url Matching");
else
alert("Url not matching")

希望这对您有帮助

答案 1 :(得分:0)

怎么样?     /^(ftp|https?)\:\/{2}w{3}\.[a-z_A-Z]{1,}\.[a-z]{3}(\/(.){1,})?/g

var urls = [
    "https://www",
    "https://www.",
    "https://www.exampledomain",
    "https://www.axiamed.com",
    "https://www.axiamed.com/independent-software-vendors/"
]
var valids = urls.map((str) => {
  return str.match(/^(ftp|https?)\:\/{2}w{3}\.[a-z_A-Z]{1,}\.[a-z]{3}(\/(.){1,})?/g)
})
console.log(valids)

答案 2 :(得分:-1)

尝试这个

  

^(http:// www。| https:// www。)?[a-z0-9] +([-。] {1} [a-z0-9] +)。[ az] {2,5}(:[0-9] {1,5})?(/。)?$

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})   // <--- Missing parenthesis here!
export class AppRoutingModule {}