関数を通したい場合以下で通用するはず。
先輩からpreg_matchを使う場合は最後の/
にはu
を付け足すようご指摘をいただきました。ありがとうございます。
public function alphanumericsymbols($check){ $value = array_values($check); $value = $value[0]; return preg_match('/^[a-zA-Z0-9\s\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]+$/u', $value); }
おまけ:alphaNumeric
はあまり通用しないそう
詳細は上記のページを!
以下のサイトが参考になりました。日本語はalphaNumeric
を通り抜けちゃうみたいで危険、だそうです。
以下のコードは一応英数字のみのつもりなのだが、日本語に対しては効かないそう。
$validator = new Validator(); $validator ->allowEmpty('user_id') ->add('user_id', [ 'alphaNumeric' => ['rule' => 'alphaNumeric', 'message' => '英数字のみです'], 'length' => ['rule' => ['lengthBetween', 6,12], 'message' => '6~12文字です。'] ]);