语义版本验证器

免费在线语义版本号验证器,支持SemVer 2.0规范验证、版本号解析、版本比较和范围检查。无需注册,无需上传。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

🔍 SemVer 验证

输入语义版本号,验证是否符合SemVer 2.0规范,并解析各部分含义。

⚖️ 版本比较

比较两个语义版本号的优先级高低。

vs

📊 批量验证

每行一个版本号,批量验证是否符合SemVer规范。

📖 语义版本号(SemVer)详解

版本号格式

语义版本号遵循 MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD] 格式:

  • MAJOR(主版本号):不兼容的API变更时递增
  • MINOR(次版本号):向后兼容的功能新增时递增
  • PATCH(修订号):向后兼容的问题修复时递增
  • PRERELEASE(预发布标识):可选,如 -alpha.1-beta.2
  • BUILD(构建元数据):可选,如 +build.123,不影响版本优先级

版本优先级规则

  1. 先比较MAJOR,数值大的版本更高
  2. MAJOR相同则比较MINOR
  3. MINOR相同则比较PATCH
  4. 正式版本高于预发布版本(1.0.0 > 1.0.0-alpha)
  5. 预发布标识按点号分隔逐段比较:数字按数值比较,字母按ASCII比较
  6. 构建元数据不影响版本优先级

常见错误

  • 前导零:01.2.3 ❌(应为 1.2.3
  • 缺少部分:1.2 ❌(应为 1.2.0
  • 空标识符:1.2.3-.
  • 非法字符:1.2.3-α ❌(预发布标识只允许ASCII字母数字和连字符)

📖 常见问题

什么是语义版本号(SemVer)?

语义版本号(Semantic Versioning, SemVer)是一种版本号命名规范,格式为MAJOR.MINOR.PATCH。MAJOR表示不兼容的API变更,MINOR表示向后兼容的功能新增,PATCH表示向后兼容的问题修复。还可以添加预发布标识(如-alpha.1)和构建元数据(如+001)。

SemVer 2.0的验证规则是什么?

SemVer 2.0要求:1)版本号格式为X.Y.Z,X/Y/Z为非负整数且不能有前导零;2)预发布标识由字母数字和连字符组成,以点号分隔;3)构建元数据由字母数字和连字符组成,以点号分隔;4)预发布版本优先级低于正式版本;5)版本号递增时不能跳过0。

如何比较两个语义版本号的大小?

比较规则:1)先比较MAJOR,大的版本更高;2)MAJOR相同则比较MINOR;3)MINOR相同则比较PATCH;4)正式版本高于预发布版本(1.0.0>1.0.0-alpha);5)预发布版本按标识符逐个比较,数字标识按数值比较,字母标识按ASCII比较,数字标识低于字母标识。

什么是预发布标识和构建元数据?

预发布标识(pre-release)跟在PATCH后以连字符连接,如1.0.0-alpha.1,表示不稳定版本。构建元数据(build metadata)以加号连接,如1.0.0+20130313144700,表示构建信息但不影响版本优先级。两者都是可选的。

数据会上传到服务器吗?

不会。所有版本号验证、解析和比较都在浏览器本地完成,不发送任何数据到服务器。

语义版本验证器 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com