NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
電話番号 Regex Go バリデーター

電話番号 Regex Go バリデーター

電話番号 Regex Go バリデーターを使用して、GolangのregexpパッケージでE.164などの電話番号フォーマットをテスト・検証できます。このツールは、サインアップフロー、フォーム検証、または通信アプリを構築する開発者やテスターに最適です。余分なコードを書くことなく、携帯番号、国際フォーマット、または特定の桁パターンを正しくマッチするregexを即時に確認できます。


より多くのテスト入力が必要ですか?電話番号ジェネレーターZIPコードジェネレーター、または住所ジェネレーターを試して、現実的なフォームデータをシミュレートしてください。

電話番号 Regex Go バリデーター - ドキュメント

GoにおけるPhone Number Regexとは?

Go(Golang)では、正規表現はregexp標準ライブラリを通じて処理されます。電話番号の検証では以下のような特定の構造をチェックします。

  • 国番号(例:+91、+1)

  • 市外局番

  • ハイフン、スペース、括弧などのオプションの区切り文字

  • 国や地域によって異なる可変の番号の長さ

電話番号regexが特に役立つ場面:

  • ユーザーサインアップ時のフォーム検証

  • APIやデータベースのバックエンドチェック

  • SMS/通話システム

  • 通信ソフトウェアとモバイルアプリ

コア機能と構成要素(Go Regex)

メタ文字

  • .: 改行以外の任意の1文字にマッチします。例:/.23/は"a23"、"x23"にマッチ

  • ^: 文字列の先頭に固定します。例:/^+91/は"+91xxxxx..."にマッチ

  • $: 文字列の末尾に固定します。例:/123$/は"123"で終わる文字列にマッチ

  • |: OR演算子として機能します。例:/landline|mobile/はどちらにもマッチ

文字クラス

  • [0-9]: 0〜9の任意の数字にマッチします

  • [^0-9]: 数字以外の任意の文字にマッチします

  • [a-zA-Z]: 任意のアルファベット(大文字・小文字)にマッチします

定義済みクラス

  • \d: 数字1桁にマッチします([0-9]と同等)

  • \D: 数字以外の文字にマッチします

  • \s: 空白文字にマッチします

  • \S: 空白以外の任意の文字にマッチします

量指定子

  • *: 0回以上の繰り返しにマッチします

  • +: 1回以上の繰り返しにマッチします

  • ?: 0回または1回(オプション)にマッチします

  • {n}: ちょうどn回の繰り返しにマッチします

  • {n,}: n回以上の繰り返しにマッチします

  • {n,m}: n回以上m回以下の繰り返しにマッチします

Goでのマッチ数の制限

GoのregexでN件のみ返す場合は、FindAllStringFindAllStringSubmatchなどの関数の第2引数に正の整数を渡します。例えばFindAllString("peach punch pinch", 2)は最初の2件のみを返します。長いテキストから一部の電話番号だけを取得したい場合に便利です。

電話番号のRegexパターン例

国際電話番号を検証する一般的なregexパターンです。

^\+?[1-9]\d{1,3}?[-.\s]?\(?\d{1,4}?\)?[-.\s]?\d{1,9}([-.\s]?\d{1,9})?$

このパターンは以下にマッチします。

  • +91、+44、+1などの国番号

  • ハイフン、ドット、スペースなどのオプション区切り文字

  • 市外局番の括弧

GoのregexpオブジェクトのCommonメソッド

  • MatchString / Match: パターンが文字列(または[]byte)の一部または全体にマッチするかを素早く確認します。

  • FindString / Find: 入力からパターンにマッチする最初の部分文字列を返します。

  • FindStringIndex / FindIndex: テキストではなく、最初のマッチの開始と終了位置を返します。

  • FindStringSubmatch / FindSubmatch: メインのマッチだけでなく、キャプチャグループも取得します。

  • FindAllString、FindAllStringSubmatchなど: 入力全体をスキャンしてすべてのマッチを返します。件数を渡すことで制限できます。

  • ReplaceAllString / ReplaceAll: マッチしたすべての部分文字列を別の値で置き換えます。

  • ReplaceAllFunc: 各マッチに関数を適用して、マッチしたテキストを動的に変換します。

Go コード例

例 1: 基本的な電話番号検証

package main

import ( "fmt" "regexp" )

func main() { pattern := regexp.MustCompile(^\+?[0-9]{10,15}$) phone := "+14155552671" fmt.Println("Valid Phone:", pattern.MatchString(phone)) }

Go Regex Testerで類似パターンを試してみてください。

例 2: 区切り文字を含む電話番号

package main

import ( "fmt" "regexp" )

func main() { pattern := regexp.MustCompile(^$begin:math:text$?\\d{3}$end:math:text$?[-.\s]?\d{3}[-.\s]?\d{4}$) phone := "(415) 555-2671" fmt.Println("Valid Format:", pattern.MatchString(phone)) }

電話番号ジェネレーターで実際の番号を生成してください。

例 3: 市外局番を含むフォームフィールドテスト

package main

import ( "fmt" "regexp" )

func main() { input := "+91-9876543210" regex := regexp.MustCompile(^\+91[-\s]?[6-9]\d{9}$) fmt.Println("Indian Mobile Number Valid:", regex.MatchString(input)) }

住所ジェネレーターと組み合わせると完全なユーザーテストデータを作成できます。

Goでマッチのインデックスとサブマッチを取得する

FindStringSubmatchIndexメソッドを使用すると、文字列内のマッチと各サブマッチの正確な開始・終了位置を取得できます。

fmt.Println(r.FindStringSubmatchIndex("peach punch"))

文字列内の最初のマッチを見つける

pattern := regexp.MustCompile([a-zA-Z]+)
result := pattern.FindString("peach punch")
// result will be "peach"

Goで正規表現を使って部分文字列を置換する

ReplaceAllStringによる基本的な置換

package main

import ( "fmt" "regexp" )

func main() { r := regexp.MustCompile(peach) result := r.ReplaceAllString("a peach", "") fmt.Println(result) // Output: a }

高度な処理:カスタム関数による置換

package main

import ( "bytes" "fmt" "regexp" )

func main() { r := regexp.MustCompile([a-z]+) text := []byte("a peach") result := r.ReplaceAllFunc(text, bytes.ToUpper) fmt.Println(string(result)) // Output: A PEACH }

プロのヒント

  • 静的パターンには常にregexp.MustCompile()を使用して実行時エラーを回避しましょう。

  • 市外局番や内線番号などを抽出したい場合はFindStringSubmatch()を使用してください。

  • 精度向上のため、.*のような過度に貪欲な表現は避け、{10,15}のような量指定子を使いましょう。

  • 電話番号ジェネレーターユーザー名ジェネレーターなどのツールから実際のテストデータで検証しましょう。

  • 大文字・小文字を区別しないマッチングには(?i)プレフィックスを使用してください。

組み合わせをお勧めするツール

ユースケース

  • サインアップフォームの検証

  • ECモバイル認証

  • 通信APIテスト

  • QAチーム向けフェイクデータ生成

  • データ移行と正規化

他の言語向けRegex

Frequently Asked Questions

電話番号regexパターンはどのフォーマットをサポートしますか?

国番号あり・なしの携帯・固定電話フォーマットをサポートしており、ハイフン、スペース、括弧などの区切り文字にも対応しています。

インドの電話番号を検証できますか?

はい。^\+91[6-9]\d{9}$のようなregexを使ってインドの携帯番号をマッチさせることができます。

内線番号を含む場合はどうすればいいですか?

(?:x\d{2,5})?のようなセクションをregexに追加して、+1-800-555-1234x456のような内線番号にマッチさせることができます。

Goのregexを使って市外局番を抽出できますか?

はい。キャプチャグループ()を使用し、コード内でFindStringSubmatch()を介してアクセスできます。

このregexバリデーターはGo専用ですか?

はい。他の言語については、電話番号 Regex Java バリデーター、JavaScript Regex Tester、またはPython Regex Testerをお試しください。

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

平易な英語で記述するだけで、Qodexがセキュアですぐに実行できるテストに変換します。