NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
GUID Regex Javascript バリデーター

GUID Regex Javascript バリデーター

GUID Regex JavaScript バリデーターで GUID を簡単に検証できます。API 開発、フォーム検証、データベース管理に最適な 8-4-4-4-12 の16進数文字フォーマットに従っているかを確認します。パターンのデバッグにはJavaScript Regex テスター、ユーザー認証情報の検証にはメールバリデーターと組み合わせてください。

GUID Regex Javascript バリデーター - ドキュメント

GUID(Globally Unique Identifier)とは?

GUID はデータベース、ソフトウェア開発、API でグローバルな一意性を確保するために一般的に使用される 128 ビットの一意識別子です。通常、次のようにフォーマットされます:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

各 x は16進数文字(0〜9、a〜f)です。例:e4f50c60-4d42-11ec-81d3-0242ac130003。

JavaScript は正規表現(regex)を使って、指定された文字列がこの構造にマッチするかを検証できます。

JavaScript 向け GUID Regex パターン

有効な GUID にマッチする regex パターン:

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

内訳:

  • 「^」:パターンを文字列の先頭と末尾にアンカーし、文字列全体が GUID フォーマットにマッチすることを保証。

  • 「[0-9a-fA-F]{8}」:第1ブロック:8 文字の16進数。

  • 「-」:リテラルのハイフンで各ブロックを区切る。

  • 「[0-9a-fA-F]{4}」:第2ブロック:4 文字の16進数。

  • 「[1-5][0-9a-fA-F]{3}」:第3ブロック:バージョンフィールド(1〜5)+ 3 文字の16進数。

  • 「[89abAB][0-9a-fA-F]{3}」:第4ブロック:バリアントフィールド(8、9、a、b のいずれかで始まる)+ 3 文字の16進数。

  • 「[0-9a-fA-F]{12}」:最終ブロック:12 文字の16進数。

GUID 検証における波括弧のオプション対応

一部の Microsoft 環境やソフトウェアツールでは {3f2504e0-4f89-11d3-9a0c-0305e82c3301} のように波括弧で囲まれた GUID が見られます。波括弧の有無両方に対応するには:

  • 調整後の regex:
    ^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$

JavaScript で GUID を検証する方法

完全なコードスニペット:

function isValidGUID(guid) {
  const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
  return guidRegex.test(guid);
}

// テスト例 const testGUID = "a987fbc9-4bed-3078-cf07-9141ba07c9f3"; console.log(Is "${testGUID}" valid?, isValidGUID(testGUID));

空文字列または null の処理

Regex 検証を実行する前に、関数はまず入力文字列が空または null かどうかを確認します。その場合は即座に false を返し、空白フィールドの誤った受け入れを防ぎます。

パフォーマンス:時間と空間の計算量

この正規表現による GUID 検証は、入力文字列の長さに対して線形時間 O(N) で実行されます。空間面では、一定量の追加メモリ O(1) のみ使用します。

有効な GUID の例

  • 3f2504e0-4f89-11d3-9a0c-0305e82c3301

無効な GUID の例

  • 3f2504e04f8911d39a0c0305e82c3301(ハイフンなし)

  • 3f25-04e0-4f89-11d3-9a0c(短すぎる)

  • ZZZ504e0-4f89-11d3-9a0c-0305e82c3301(無効な16進数文字)

GUID Regex 検証の用途

  • データベース ID:データベース行の一意識別子を確保。

  • API リクエスト:リクエスト識別子やセッショントークンを安全に追跡。

  • フォーム入力検証:フォームから送信されたフィールドの GUID フォーマットを確認。

  • 分散システム:システムやサービス全体でリソースを一意に識別。

プロのヒント

  • アプリで特定の大文字小文字を強制する場合は、検証前に GUID を小文字または大文字に変換してください。

  • 改ざんや不正なデータ入力を避けるために、クライアント側とサーバー側の両方で検証を検討してください。

  • ランダムな GUID 生成を使用する場合は、GUID バリデーターを使って定期的にフォーマットの一貫性をテストしてください。

  • UUID v4 と GUID を混同しないでください。フォーマットは共有していますが生成ロジックが異なります。

サポートされている regex フレーバー

  • PCRE2(PHP 7.3 以降)

  • PCRE(PHP 7.3 未満)

  • ECMAScript(JavaScript)

  • Python

  • Golang

  • Java 8

  • .NET 7.0

  • Rust

Frequently Asked Questions

有効な GUID の条件は何ですか?

有効な GUID はハイフンを含む 36 文字で構成され、特定のバージョンとバリアントルールを持つ厳密な16進数構造に従います。

この regex は UUID バージョン 4 専用ですか?

Regex はバージョン桁(第3セグメント)に基づいて、すべての UUID/GUID バージョン(1〜5)をサポートしています。

JavaScript は有効な GUID を生成できますか?

JavaScript はネイティブで GUID を生成しませんが、uuid のようなライブラリを使って生成し、このツールで検証できます。

GUID と UUID の違いは何ですか?

フォーマットはほぼ同一です。GUID は Microsoft による UUID の実装です。

GUID は小文字で保存すべきですか?

システムによって異なりますが、大文字小文字の不一致を避けるために小文字に正規化するのが良い慣行です。

APIを今すぐテストしましょう!

平易な言葉で記述するだけで、Qodex が安全ですぐに実行できるテストに変換します。