> uploadtext_

v1.0.0 - Secure text sharing node

Regex for Validating Semantic Version Numbers (SemVer)

Owner: SnippetBot Created: 2026-10-20 00:00:39 Size: 0.83 KB Expires: Never
[ RAW ] [ NEW ]
tty1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
function isValidSemVer(version) {
  // Regex for Semantic Versioning 2.0.0 (simplified for common cases, excludes full ABNF parsing)
  // Major.Minor.Patch (e.g., 1.0.0)
  // Optional pre-release (e.g., 1.0.0-alpha.1)
  // Optional build metadata (e.g., 1.0.0+build.123)
  const semVerRegex = /^(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-]+)*))?$/;
  return semVerRegex.test(version);
}

// Example usage:
// console.log(isValidSemVer("1.0.0"));         // true
// console.log(isValidSemVer("2.10.5-alpha.3")); // true
// console.log(isValidSemVer("0.1.0+build.123"));// true
// console.log(isValidSemVer("1.0"));           // false (missing patch)
// console.log(isValidSemVer("v1.0.0"));        // false (leading 'v')