簡単な電子メールの検証スクリプトは、私に失敗し続けます。PHPの正規表現
if(!preg_match('^[^@]{1,63} @ [^@]{1,255}$', $input)) {
return false;
}
ローカルアドレスとドメインアドレスの正しい長さを1つだけ '@'記号にしてください。しかし、有効な電子メールはこのテストに合格しません。 error_logには、「@」は未定義の変数であるというメッセージが表示され続けます。私はそれをエスケープすると思いますか?それらの前にバックスラッシュを置くことは役に立たなかった。
ありがとうございます。
*編集:電子メールの検証スクリプトにはさらに多くのものがありますが、これらの部分は正常に機能しているため投稿しませんでした。これは明らかに唯一の妥当性検査ではありませんが、それは私にエラーを引き起こす唯一のものです。
なぜスペースが '@'周りがありますか? – rockerest
これは '!" $ $%^&*()@! "$ $%^&*()'に対してもtrueを返します。悪い時。 – adlawson
スペースは、目の前に置いておくだけです。リアルバージョンはありません。おそらくそれを追加してはいけません。 – Renzo