版本 A
版本 B
1.2.3 小于 1.2.10
版本
范围
满足1.2.5 ∈ ^1.2.0
功能说明
语义化版本检查器用于处理语义化版本 2.0.0(Semantic Versioning)字符串。比较两个版本看哪个更大(带正确的预发布优先级——1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0),测试某个版本是否满足 npm 风格的范围表达式(^、~、比较器、连字符范围、||),还可以一键提升 major / minor / patch / prerelease。所有逻辑 100% 在客户端运行——任何版本字符串都不会离开你的浏览器。
使用方法
- 比较——在 Version A 和 Version B 中输入两个版本。两者之间的箭头和结论行会告诉你哪个更大(或者它们相等)。
- 范围检查——输入一个版本和一个范围表达式(例如
^1.2.0、~1.0.0、>=1.2.3 <2.0.0、1.0.0 || 2.0.0)。绿色的 satisfies 或红色的 no match 徽章显示结果。 - 版本提升——输入一个版本,然后点击 Major、Minor、Patch 或 Prerelease 计算下一个版本并复制。
- Copy share link 可把精确的输入内容发送给他人。
示例
比较(预发布排序)
1.0.0 vs 1.0.0-beta → 1.0.0 is greater than 1.0.0-beta (a release always outranks its prereleases).
1.2.3 vs 1.2.10 → 1.2.3 is less than 1.2.10 (numeric, not lexicographic - 10 > 3).
范围检查
1.5.0 against ^1.2.0 → satisfies (compatible-with stays inside major 1).
1.2.2 against ^1.2.3 → no match (^1.2.3 requires >=1.2.3).
1.5.0 against >=1.2.0 <2.0.0 || 3.0.0 → satisfies (the first AND clause holds).
版本提升
1.2.3 → Major 2.0.0 · Minor 1.3.0 · Patch 1.2.4 · Prerelease 1.2.4-0
1.2.3-beta.2 → Prerelease 1.2.3-beta.3 (increments the trailing numeric identifier).
补充说明
- 预发布优先级遵循 semver.org 规范:数字标识符按数值比较且排名低于字母数字标识符;不带预发布段的版本总是高于带预发布段的版本。构建元数据(
+…)不参与排序。 - 范围表达式支持
^(插入号)、~(波浪号)、>= > <= < =、*/x通配符、部分版本(1、1.2)、连字符范围(1.2.3 - 2.3.4)、空格分隔的 AND,以及||OR——与 npm 在package.json中使用的语法相同。 - 无效输入会内联报告而不是抛出异常:格式错误的版本或范围会显示红色警告,而不是给出结论。
- 可分享: 三个部分的全部输入都编码在 URL 中。
- 私密: 所有解析都在本地完成——对任何版本字符串都安全。
- 相关工具: 统计计算器、Markdown 表格生成器、ASCII 表。