is_email() の使い方|説明・引数・注意点

説明

is_email() は、文字列が正しいメールアドレスの形式かを判定する関数です。

基本構文

is_email( string $email, bool $deprecated = false ): string|false

引数

  • $email:メールアドレス

戻り値

正しければそのアドレス。そうでなければ false。

使い方(サンプル)

if ( ! is_email( $address ) ) {
	wp_die( 'メールアドレスが不正です' );
}

注意点

  • 形式の検証のみで、実在するかは確認しません。

実務での使いどころ

  • メールアドレスの形式が、正しいかを、確認するとき。
  • フォームの入力値を、検証するとき。

よくあるミスと対処

  • 戻り値を、true と比べている。戻り値は、有効なら、そのメールアドレス(文字列)、無効なら false。
  • 形式の確認だけで、そのメールアドレスが、実在すると考えている。
  • サニタイズせずに、検証だけで、保存している。

NG例

if ( true === is_email( $email ) ) { // 戻り値は文字列なので、一致しない
	// ...
}

OK例

$email = sanitize_email( wp_unslash( $_POST['email'] ) );
if ( is_email( $email ) ) {
	// 形式が正しい
}

使い分け早見表

関数 役割
is_email() 形式が、正しいかを確認する
sanitize_email() 使えない文字を、取り除く
email_exists() ユーザーとして、登録済みか確認する

関連項目

sanitize_email()、wp_mail()

公式リファレンス:is_email() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました