【问题标题】:URL validation using regular Expression vue JS使用正则表达式 vue JS 的 URL 验证
【发布时间】:2021-08-18 20:44:18
【问题描述】:

我正在尝试使用正则表达式验证 URL 字符串。我正在使用这个正则表达式来验证 URL:

var regex = /^(http|https):\/\/+[\www\d]+\.[\w]+(\/[\w\d]+)?/

使用它,我可以解析几乎所有类型的 URL,除了 http://www.google 这种 URL。我希望这个 URL 属于 false case。

【问题讨论】:

  • 这种网址到底是什么意思?不应该以www.开头吗?
  • 如果它以 www 开头,那么它不应该允许 www.google 但必须允许 google.com

标签: javascript regex vue.js url


【解决方案1】:

您需要进行多项更改才能使其正常工作:

  • 无需在\/\/ 中添加+ 量词。
  • 无需在[w\d]+ 中添加\w。由于您匹配 wwww3 这样的东西,所以 \w 被允许意味着您也允许字母数字和下划线。
  • 在正则表达式末尾添加$,只有完全匹配时才匹配

var regex = /^(http|https):\/\/[w\d]+\.[\w](\/[\w\d]+)?$/;
const str = "http://www.google";

console.log(regex.test(str));

【讨论】:

    最近更新 更多