JAVASCRIPT

Validate Semantic Versioning (SemVer)

Essential regex to accurately validate semantic version numbers (e.g., 1.2.3, 1.0.0-alpha.1) for consistent version management in web projects.

const semVerPattern = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;

function isValidSemVer(versionString) {
  return semVerPattern.test(versionString);
}

console.log(isValidSemVer("1.0.0")); // true
console.log(isValidSemVer("1.0.0-alpha.1")); // true
console.log(isValidSemVer("2.1.3+build.123")); // true
console.log(isValidSemVer("0.5.9")); // true
console.log(isValidSemVer("1.0")); // false
console.log(isValidSemVer("invalid-version")); // false
How it works: This robust regex pattern validates strings against the Semantic Versioning 2.0.0 specification. It captures major, minor, and patch versions, optionally followed by pre-release identifiers and build metadata. It ensures that version strings adhere to the 'MAJOR.MINOR.PATCH' format with optional '-PRERELEASE' and '+BUILDMETADATA' components, making it ideal for managing software versions.

Need help integrating this into your project?

Our team of expert developers can help you build your custom application from scratch.

Hire DigitalCodeLabs