• ベストアンサー

文字形式のチェックがしたい!

POSTで受けたデータが、 英数半角の文字だけで構成されているかを判定する方法が分かりません。 ついでそれは6文字以上であることも判定したいのですが、 どの関数で判断したら言いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

正規表現を用いることで判断が可能です。 strlen()で文字列の長さを得る事もできますが 正規表現でまとめてしまったほうがシンプルでしょう。 <? //作業用変数 $strData = $_POST['a']; if(ereg("[a-zA-Z0-9]{6,}",$strData)){ //パターンにマッチした場合の処理 echo "OK!"; }else{ //パターンにマッチしない場合の処理 echo "NG!"; } ?>

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 半角英数のみかどうかを知るには、ちょっと乱暴やけど一文字ずつ[A-Za-z0-9]の判定をすれば良いのでは。 ret = preg_replace("/[A-Za-z0-9]+/", "", moto); // 試してないので違ったらごめん で、何か残りゃあ不正な文字があると判定しても良いかも知れん。こっちがパスすれば半角英数のみなのでstrlenで文字数を判定できると思う。  関数リファレンスでstr***やereg_***、preg_***を眺めてみると良い。

関連するQ&A