Regex将特定URL与查询字符串匹配
Regex to Match Specific URL with Query String
嗨,我正在尝试匹配一个允许查询字符串的特定URL。基本上我需要以下发生:
http://some.test.domain.com
-通过http://some.test.domain.com/
-通过http://some.test.domain.com/home
-通过http://some.test.domain.com/?id=999
-通过http://some.test.domain.com/home?id=888&rt=000
-通过http://some.test.domain.com/other
-失败http://some.test.domain.com/another?id=999
-失败
以下是我目前所拥有的:
var pattern = new RegExp('^(https?:'/'/some'.test'.domain'.com('/{0,1}|'/home{0,1}))$');
if (pattern.test(window.location.href)){
console.log('yes');
}
上面的代码只适用于前三个,而不适用于查询字符串。如有任何帮助,我们将不胜感激。谢谢
这样的模式应该可以工作(至少对于您的特定域)
/^http:'/'/some'.test'.domain'.com('/(home)?('?.*)?)?$/
这将匹配一个文字http://some.test.domain.com
(可选地,后跟所有文字/
),可选地,紧跟文字home
,可选地后跟文字?
和任意数量的其他字符。
你可以在这里测试
不要使用Regex,使用URL解析器。您可以使用purl
然后,你会做:
url = "http://some.test.domain.com/home" // Or any other
purl(url).attr('path') // is equal to "home" here.
您只需要对照您接受的路径(似乎是""
、"/"
和"home"
)检查.attr('path')
。
以下是一些示例输出:
purl("http://some.test.domain.com/?qs=1").attr('path')
"/"
purl("http://some.test.domain.com/other").attr("path")
"/other"
purl("http://some.test.domain.com/home").attr("path")
"/home"
相关文章:
- 每次在输入中键入新字符时更新查询
- j查询字符过滤器
- 如何在 J 查询中保留特殊字符
- 使用查询 AJAX 提交字符
- 如何使用 jQuery 发送包含特殊字符的查询字符串数据
- 如何在查询中使用特殊字符
- javascript、php、html 和 mysql 查询中的多语言字符
- htaccess 中的查询字符串会导致 404 错误
- 使用 Javascript 在 MongoDB 中使用希腊字符执行查询不会返回任何结果
- j查询键控字符错误
- 如何在搜索查询中只排除#、$、%等特殊字符并包括字母表和数字
- 如何在url中传递特殊字符作为查询字符串
- 解码Url与特殊&查询参数值中的“+”字符
- 节点查询字符串解析和字符编码
- URL查询字符串中的特殊字符
- PhoneGap的SQLite查询Ñ字符(拉丁文)不能给出结果
- 使用javascript获取包含所有字符的查询字符串参数
- 如何维护数据库查询的字符编码
- 在两个页面之间传递带有html特殊字符的转义查询字符串
- 带有转义字符的查询字符串