PHPでバリデーションを仕様としています。

半角カナを弾き、全角10文字~20文字以内だけ許可する仕様です。
if ( !hoge($foo) ) {
echo "正しい書式で入力してください";
}
のように書こうとしています。
このとき、hoge()はどのように書けばいいでしょうか。
できれば、正規表現を使いたいと思っています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/07/28 20:24:25
  • 終了:2006/07/28 21:37:36

回答(2件)

id:vector_xenon No.1

vector回答回数113ベストアンサー獲得回数42006/07/28 20:57:59

ポイント35pt

function hoge($str) {

$len = mb_strlen($str);

if ($len >= 10 && $len <= 20) {

return true;

}

return false;

}

dummy

http://q.hatena.ne.jp/1154085863

id:nikita_r

ありがとうございます。

あと、半角カナをはじく方法はないものでしょうか。

なお、PHP5で、文字コードはUTF-8です。

2006/07/28 21:06:43
id:vector_xenon No.2

vector回答回数113ベストアンサー獲得回数42006/07/28 21:23:06

ポイント35pt

途中で送信してしまいました

上のはポイントいりません。

function hoge($str) {

$str = mb_convert_kana($str, "KV");

$len = mb_strlen($len);

if ($len >= 10 && $len <= 20) {

return true;

}

return false;

}

半角カナを判別するよりも、全角に直した方が安全だと思いますよ。

dummy

http://q.hatena.ne.jp/1154085863

id:nikita_r

それもそうですね。

ありがとうございました。

2006/07/28 21:37:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません