- 正規表現を使用したバリデーション: 正規表現を使用して、携帯電話番号のパターンを検証する方法です。以下は例です。
$phoneNumber = '080-1234-5678';
if (preg_match('/^0\d{2}-\d{4}-\d{4}$/', $phoneNumber)) {
// バリデーション成功
} else {
// バリデーションエラー
}
- Laravelのバリデーションルールを使用する方法:
Laravelには標準で利用可能なバリデーションルールが用意されています。以下の例では、
phone
ルールを使用して携帯電話番号のバリデーションを行います。
$validatedData = $request->validate([
'phone_number' => 'required|phone',
]);
- 国際的な携帯電話番号のバリデーション:
もし、国際的な携帯電話番号のバリデーションが必要な場合は、
libphonenumber
パッケージを使用することができます。まず、libphonenumber
パッケージをインストールします。
composer require giggsey/libphonenumber-for-php
以下はlibphonenumber
パッケージを使用した携帯電話番号のバリデーションの例です。
use libphonenumber\PhoneNumberUtil;
use libphonenumber\PhoneNumberFormat;
use libphonenumber\NumberParseException;
$phoneNumber = '+818012345678';
$phoneNumberUtil = PhoneNumberUtil::getInstance();
try {
$parsedNumber = $phoneNumberUtil->parse($phoneNumber, null);
if ($phoneNumberUtil->isValidNumber($parsedNumber)) {
$formattedNumber = $phoneNumberUtil->format($parsedNumber, PhoneNumberFormat::INTERNATIONAL);
// バリデーション成功
} else {
// バリデーションエラー
}
} catch (NumberParseException $e) {
// パースエラー
}
以上がLaravel 8における携帯電話番号のバリデーション方法とコード例です。必要に応じて、これらの方法を適宜組み合わせて使用してください。