ホームページ  >  記事  >  バックエンド開発  >  golangで正規表現を使用して携帯電話番号を確認する方法

golangで正規表現を使用して携帯電話番号を確認する方法

PHPz
PHPzオリジナル
2023-06-24 10:49:362002ブラウズ

モバイルインターネットの普及と携帯電話が人々にとって欠かせない生活ツールとなるにつれ、携帯電話番号の認証は開発者が直面しなければならない問題の1つとなっています。 golang では、正規表現を使用して携帯電話番号を確認できます。この記事では、golangで正規表現を使って携帯電話番号を認証する方法を紹介します。

携帯電話番号の確認に正規表現を使用するのはなぜですか?

golang では、携帯電話番号の桁数と最初の 1 桁を判断することで文字列が携帯電話番号であるかどうかを判断できますが、この方法の欠点は応用力が低いことです。携帯電話番号セグメントの拡大と一部のアナログ番号の登場により、携帯電話番号の桁数や最初の桁だけが判断基準ではなくなりました。したがって、携帯電話番号を検証するためのより汎用的な方法、つまり正規表現を使用する必要があります。

正規表現を使用して携帯電話番号を確認する

正規表現は一般的な文字列一致ツールであり、正規表現を使用することで、さまざまな文字列を柔軟に一致させることができます。 golang では、正規表現は標準ライブラリ regexp によってサポートされています。 regexp.MatchString() メソッドを使用して文字列を照合できます。以下は、正規表現を使用して携帯電話番号を確認するサンプル コードです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    pattern := `^1[3456789]d{9}$`

    phoneNums := []string{
        "13912345678",
        "17012345678",
        "13412345678",
        "15112345678",
        "18912345678",
        "16212345678",
        "14212345678",
        "19612345678",
        "11111111111",
        "12345678901",
        "11122233344",
        "1234567",
        "1",
        "",
        "13912345a67",
    }

    for _, phoneNum := range phoneNums {
        matched, _ := regexp.MatchString(pattern, phoneNum)
        fmt.Printf("%s : %t
", phoneNum, matched)
    }
}

上記のコードは、携帯電話番号と一致する正規表現を定義します^1[3456789]d{9}$ そして、さまざまな異なる文字列 (合法および違法の携帯電話番号を含む) を含む文字列配列phoneNums を定義します。最後に、phoneNums の文字列を走査して、それが合法的な携帯電話番号であるかどうかを確認します。

上記のコードでは、MatchString() メソッドは、一致が成功したかどうかを示すブール値を返します。コードを記述するときは、戻り値に基づいて対応する処理を実行できます。戻り値が true の場合は一致が成功したことを意味し、それ以外の場合は一致が失敗したことを意味します。

概要

この記事の導入を通じて、正規表現を使用して golang で携帯電話番号を検証する方法を学び、サンプル コードに携帯電話番号検証を実装しました。正規表現を使用して携帯電話番号を確認する場合は、携帯電話番号セグメントの変化に適応できるように一般的な正規表現を使用するようにしてください。同時に、実際のアプリケーションでは、さまざまなニーズのシナリオに対応するために、さまざまな国や地域の携帯電話番号規則も考慮する必要があります。

以上がgolangで正規表現を使用して携帯電話番号を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。