電子書籍の厳選無料作品が豊富!

こんにちは☆
PHPでログインIDの入力フォームを作成していて、ユーザーの入力した文字が半角英数字のみで4桁以上16桁以内であるかどうかをpreg_match関数を用いてパターンチェックしたいのですが、うまくいきません。
(全角かな等が入っていてもtrueが返ってしまう。)
どなたかご存知でしたらご指摘下さいm(_ _)m

-------------------現在までの状況-------------------------------
$login_id = $_POST["POSTされたユーザ入力"];
$login_id = mb_convert_kana($login_id, "a");
if (!preg_match("/[a-zA-Z0-9]{4,16}/", $login_id)) {
echo "エラーメッセージ";
}
----------------------------------------------------------------

A 回答 (1件)

先頭にマッチする^と末尾にマッチする$を使います。



if (!preg_match("/^[a-zA-Z0-9]{4,16}$/", $login_id)) {

参考URL:http://sandman.s6.xrea.com/nucleus/item-62.html& …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!