0

ああええと...ya...たくさんのコメントがあります電子メールの検証を使用することができますが、これだけのために私は以下に述べるようにそれをしなければなりませんそれが理由です....

このようなメールを検証する必要があります

英数字、@、英数字、。続いて2〜4文字の英数字

これは私がやったことですが、どういうわけか私はそれが後の最後の部分であることを知っています。ぐちゃぐちゃになりましたが、どこをめちゃくちゃにしたのかわかりませんでした。

preg_match("/^([0-9]|[a-z])([0-9]|[a-z]|[_-])*@([0-9]|[a-z])*\.([0-9][a-z]){2,4}$/i","")

開始時に[0-9]|[az])([0-9] | [az] | [_-]を使用しました。これは、人々が_-を開始として使用できるようにしたくなかったためです。数字/文字のみで開始

4

3 に答える 3

2

電子メール検証用の新しい正規表現を作成した人は 100 万人もいるはずです。メール形式に興味がある場合は、そのまま使用できます

$email = filter_var($email, FILTER_VALIDATE_EMAIL);

最終値が空の場合、最初の値は有効な電子メール アドレス形式ではありませんでした。

(追加の手順として、この関数http://php.net/manual/en/function.checkdnsrr.phpを使用してドメインの検証を試みることができます)

于 2013-02-23T08:50:14.827 に答える
0

電子メール検証の理由はどれですか? メールを入力しようとすると非常に動揺しますが、愚かな検証のために入力できません。'@' と '.' の有効性を確認するのは十分だと思います。ユーザーが意図せずにこれを見逃した場合に備えて。

$res = preg_match("/@[^@\.]*\./", $str);
于 2013-02-23T08:58:03.777 に答える
0

これを試してみてください:

^[0-9a-z_\-]+@[0-9a-z_\-]+\.[0-9a-z]{2,4}$

しかし、前述のとおり、すぐに使用できる正規表現があり、車輪の再発明を試みるよりもはるかに優れています。また、この現在のアプローチはすべての有効なアドレスを照合するわけではなく、不正なアドレスを検証します

于 2013-02-23T08:52:31.053 に答える