PHPのRespect/Validationは、入力値の検証に使えるライブラリです。GitHubのREADME.mdを読めば、だいたいの使い方がわかります。
class Validator extends \Respect\Validation\Validator { static function validate($param){ if(!static::notEmpty()->alnum()->validate($param)){ echo "Error!!"; } }
みたいにして使います。
alnum()は「alphanumeric characters from a-Z and 0-9」を検証してくれます。空白も許容。noWhitespace()と組み合わせると空白は非許容となります。例外文字の設定が出来るのですが、README.mdだと例外1文字の例しかなくて、複数の例外文字指定方法がわかりませんが、GitHubのWikiに整理されています。
class Validator extends \Respect\Validation\Validator { static function validate($param){ $additionalChars = "#_-"; if(!static::notEmpty()->alnum($additionalChars)->validate($param)){ echo "Error!!"; } }
これで「#_-」を許容してくれます。
ご参考まで。