跳到主要内容

版本号对比

semver 规则比较两个版本号并解释原因,附版本列表一键排序。

本地计算 · 数据不出浏览器
输入两个版本号(如 1.10.0 与 1.9.5),结论与逐段对照会实时显示在这里

使用说明

这个工具解决什么问题

「1.10 和 1.9 哪个大」看似常识问题,按字符串排序却会得出错误答案,无数排序 bug 与选型误判由此而生。这个工具按 semver 2.0.0 规则比较两个版本号,给出结论之外,更给出逐段对照表和一句话解释——错要错得明白,对要对得有据。

核心能力

两两对比:结论 + 逐段对照 + 中文解释。预发布链:alpha/beta/rc 排序规则完整实现。列表排序:升序降序,非法行容错。宽松解析:v 前缀、省略段、构建元数据全兼容。

使用建议

排查「版本排序不对」的 bug 时,把两个版本贴进来对照解释,确认是字符串比较的锅;选型时对候选版本列表排个序,预发布版本自然沉底;发布新版本前核对版本号递增是否符合 semver 约定。

排序稳定性说明:版本号相同的行保持原有先后顺序(稳定排序),重复版本不会被打乱。

常见问题

为什么 1.10 大于 1.9?

版本号按「数字」逐段比较,不是按字符串逐字符比较。次版本号位置上是数字 10 和数字 9,10 > 9,一票定胜负。按字符串比较时「1.10」反而小于「1.9」(字符 '1' < '9'),这是很多排序 bug 的根源——也是本工具要讲清楚的第一件事。

1.0.0-alpha、1.0.0-beta、1.0.0 谁大谁小?

按 semver 规则:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta < 1.0.0-rc.1 < 1.0.0。核心规则是「没有预发布标识的版本高于有预发布的」;预发布标识之间,数字比大小、字母比字典序、数字小于字母、集合短的小于集合长的。工具会按这套规则逐段对照。

+build.5 这样的构建元数据影响比较吗?

不影响。semver 规定构建元数据仅作标注,不参与版本优先级:1.0.0+build.1 与 1.0.0+build.999 判定为等价。工具会在等价结论里注明这一口径。

版本列表排序支持什么格式?

每行一个版本号,支持 v 前缀(v1.2.0)、省略段(1.2 视同 1.2.0)、预发布与构建元数据。无法识别的行不会中断排序,而是单独列出并说明原因,混合格式的历史版本列表也能一次排清。

日期差计算

两个日期相差几天、几个工作日,自动交换顺序并显示星期。

在线文档对比

行级与字符级双粒度对比,中文按字切分不整行全红。

JSON 对比

两份 JSON 的结构化差异,按字段路径精确定位增、删、改。

查看更多对比工具,或浏览全部工具。

;