URL Scheme测试器 - 自定义/常见协议
快速检测系统是否支持特定的URL Scheme(如mailto:、tel:、tg:)。
UD5工具箱
测试现代URL模式匹配,支持命名参数、通配符、正则组和可选段。基于 W3C URLPattern 标准。
输入模式与测试URL后点击"执行匹配测试"查看结果
支持批量测试,每行一个URL| 语法 | 说明 | 示例 | 匹配结果 |
|---|---|---|---|
:name |
命名捕获组,匹配到下一个 / 或模式末尾 |
/users/:id |
/users/42 → id=42 |
* |
通配符,匹配零个或多个字符(不跨越 /) |
/api/* |
/api/v1 → 0=v1 |
** |
全局通配符,匹配零个或多个字符(包括 /) |
/static/** |
/static/js/app.js → 0=js/app.js |
(regex) |
正则表达式组,对捕获值进行约束 | /users/:id(\\d+) |
仅匹配数字ID,如 /users/123 |
{/pattern} |
可选组,该部分可以不存在 | /users{/:id} |
匹配 /users 和 /users/42 |
{/pattern}? |
非贪婪可选组 | /blog{/:slug}? |
优先匹配更短的路径 |
URLPattern 是 W3C 制定的现代 URL 模式匹配标准 API,用于在 JavaScript 中定义和匹配 URL 模式。它提供了一种声明式的方式来匹配 URL 的各个组成部分(协议、主机名、路径、查询参数等),广泛应用于路由匹配、请求拦截、权限控制等场景。相比传统的正则表达式,URLPattern 语法更直观、更安全、更易维护。
截至 2024 年,URLPattern 已在 Chrome 95+、Edge 95+、Opera 81+ 中获得原生支持。Firefox 和 Safari 目前可通过 urlpattern-polyfill 获得完全兼容。本工具内置了 polyfill 自动检测与加载机制,确保在所有主流浏览器中都能正常使用。
URLPattern 是浏览器原生标准,语法更加规范和安全。Express 的 :param 语法与 URLPattern 的命名组相似,但 URLPattern 额外支持通配符 **、正则约束 (regex) 和可选段 {/opt}。此外,URLPattern 可以匹配完整 URL(包括协议、主机名等),而不仅仅局限于路径。
URLPattern 非常适合在 Service Worker 中进行请求路由。您可以在 fetch 事件监听器中使用 URLPattern 来匹配特定模式的请求,从而实现精细化的缓存策略、请求拦截和响应处理。例如:new URLPattern({pathname: '/api/*'}).exec(request.url)。
{/pattern} 在什么场景下有用?可选段非常适合处理具有层级结构的 RESTful API 路径。例如 /users{/:id}/posts{/:postId} 可以同时匹配 /users/posts(获取所有用户的所有帖子)、/users/42/posts(获取用户42的帖子)和 /users/42/posts/101(获取特定帖子),一条模式覆盖多种路由变体。
是的,URLPattern 支持对查询参数(search)进行模式匹配。您可以使用 {search: '?'} 来匹配任意查询参数,或使用 {search: '?page=:pageNum'} 来提取特定查询参数的值。这使得 URLPattern 在处理带查询参数的 URL 时非常灵活。
匹配失败通常由以下原因导致:①模式语法错误(检查括号、冒号是否正确);②正则约束过于严格(如 \\d+ 不匹配字母);③可选段的边界模糊;④模式与测试 URL 的协议/主机名不匹配。建议使用本工具逐步测试,观察语法预览和匹配结果来定位问题。
快速检测系统是否支持特定的URL Scheme(如mailto:、tel:、tg:)。
在线正则表达式测试工具,支持JavaScript正则匹配、替换、提取等操作,即时显示匹配结果和高亮。
检测浏览器是否支持特定自定义协议(如mailto:, tg:),并尝试调用。
回答关于再发布、开源、专利等要求,工具推荐最合适的开源许可证。
输入短链接或URL,逐跳追踪HTTP 301/302等重定向,显示最终目标。
输入 gRPC 服务地址和方法,构造 JSON 请求体,观察转为二进制帧并接收响应解码。
将URL查询字符串转换为键值对对象,编辑并重新生成编码后的查询参数,支持多层嵌套。
完整展示HTTP状态码及其含义,按类别分组,支持搜索,是前端和后端开发常用的快速参考。
在勾选读写执行权限和对应的八进制数字、符号(rwx)之间互相转换。
编写Brainfuck代码,以可视化的方式步进执行,观察活动纸带和指针。
展示几组在各类色盲下仍可区分的定性数据配色方案,含Hex码。
展示Navigator.connection提供的网络类型、下行速度、RTT等实时信息,辅助自适应加载。
在网格上设置起点/终点和障碍,动态演示广度优先、深度优先、A*等搜索过程。
粘贴带参数的URL,以表格形式列出所有Query参数与值。
将HashiCorp配置语言HCL代码转换为JSON格式,便于程序化处理。
拖拽与门、或门、非门等构建组合逻辑电路,输入高/低电平观察输出。
粘贴JSON对象,生成可折叠的树形视图,点击节点复制其键值路径,方便调试。
通过Service Worker或本地fetch模拟拦截和转发请求,查看修改后的请求响应。
向指定 Webhook URL 发送自定义 JSON 负载,查看响应状态码和内容,记录发送历史。
拖拽两控制点精细微调CSS `cubic-bezier()` 曲线并对比预设函数效果。
编写带有伪类的选择器,实时高亮匹配的HTML元素,探索现代CSS选择器的能力。
为页面上使用CSS Grid的元素显示网格线和名称,辅助布局开发和调试。
输入目标阻值,从标准E系列阻值中找出最接近的两个并联电阻组合。
实现Atbash单表替换密码,即A变Z、B变Y,快速转换字母序列,简单对称加密。
点选电阻连接方式(串联/并联),输入阻值,逐步计算等效总电阻。
选择类型、作用域并填写描述,自动生成符合Conventional Commits规范的提交消息。
粘贴结构化数据代码,模拟Google结构化数据测试,检查错误与丰富结果。
使用JSONPath表达式从复杂JSON中快速提取数据子集,支持实时匹配和高亮显示结果。
输入OpenID Provider域名,自动请求 .well-known/openid-configuration 并格式化显示。
在绘图板画几条直线,算法自动利用霍夫变换检测并高亮出这些线段。