使用 URL 检查正则表达式的 JavaScript URL 正则表达式

标签 javascript regex

我有这个网址...

http://www.google.com/local/add/analytics?hl=en-US&gl=US

我想检查这些 URL,看看它们是否与上面的 URL 匹配...

www.google.com/local/add*
www.google.com/local/add/*
http://www.google.com/local/add*
http://www.google.com/local/add/*
https://www.google.com/local/add*
https://www.google.com/local/add/*

您可以看到输入 URL 也是一个带有 * 的正则表达式,那么我可以使用什么正则表达式将 URL 列表与正则表达式进行匹配,以查看该 url 是否存在?目前我正在做这个...

var isAllowed = (url.indexOf(newURL) === 0);

这绝对没有效率。

最佳答案

这不是我写过的最干净的正则表达式,但我认为它应该有效。

var url = "http://www.google.com/local/add/analytics?hl=en-US&gl=US";
var reg = /((https|http|)(\:\/\/|)www\.google.com\/local\/add(\/|)).*/;
console.log(reg.test(url));

对于所有这些情况都会返回 true

www.google.com/local/add*
www.google.com/local/add/*
http://www.google.com/local/add*
http://www.google.com/local/add/*
https://www.google.com/local/add*
https://www.google.com/local/add/*

应该寻找(httphttps或什么都没有)然后(://或什么也没有)然后 www.google.com/local/add 然后(/ 或什么都没有)然后什么都可以。

它也会返回 true 的一种情况,我将留给您的是 (http|https)www.google.com/local/add(/|)*

关于使用 URL 检查正则表达式的 JavaScript URL 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8308520/

相关文章:

JavaScript 动态类型 int/float

python - 如何使用正则表达式在句子内搜索 - 不区分大小写

regex - 使用sed在行首和行尾添加引号

java - 构造正则表达式模式以匹配句子

javascript - 插入数据库时​​mysql连接超时(node.js)

javascript - 欧拉项目#8——Javascript

javascript - 将表的特定 TD 元素转换为使用预填充选项进行选择

regex - bash 脚本 - sed 返回 ip 地址

java - 使用java String.split()方法分离数据

javascript - 语义 UI 中的格式化工具提示