###前提・実現したいこと
パスワードの入力チェックをしたいです。
条件
・半角英数記号混合、ただし英数は必須
・3文字以上連続の場合NG
・許可文字以外が含まれている場合NG
###発生している問題・エラーメッセージ
・記号の3文字連続がひっかからない
・許可以外の記号(たとえば<>など)が含まれていてもひっかからない
###該当のソースコード
// 許可記号 $escaped = preg_quote('!#$%()*+-./:;=?@[]^_`{|}', '/'); // 3文字以上連続の場合、NG if (preg_match("/([{$escaped}a-zA-Z0-9])\1{2,}/", $value) !== 0) { return error(); } // 半角英+数字記号混在でない場合、NG if (preg_match("/[a-zA-Z]+/", $value) == 1){ if(preg_match("/[{$escaped}0-9]/", $value) == 0) { return error(); } }else{ return error(); } // 許可文字以外が含まれている場合、NG if (preg_match("/[^{$escaped}a-zA-Z0-9]/", $value)) { return error(); }
###その他
内部エンコーディングはEUCです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/02 05:09
2016/11/02 05:46
2016/11/02 05:50