正規表現で海外からのスパムメール対策をしてみる

マルチバイト文字が含まれていない場合のみスパムメールと判断。
ついでに全角スペースも入れてみました!

<?php
if( !preg_match('/[^0-9A-z!-~\n\r  ]/', $hoge) )
{
	//マルチバイト文字が含まれていないのでスパムと判断
}

当然国内やハングル文字等のマルチバイト文字を含むものはフィルタリングできませんが、自分で使った感じでは十分効果がありました。
CAPTCHA認証はコストが高くて面倒という場合にも良いと思います!

修正

改行コードのチェックが漏れていたので追加