« ファイルをダウンロードする | メイン | 半角英字のみかチェックする »

カテゴリー:入力チェック 

半角数字だけかチェックする

このエントリーを含むはてなブックマーク  livedoorクリップ  半角数字だけかチェックするをdel.icio.usに追加  半角数字だけかチェックするをYahoo!ブックマークに追加  半角数字だけかチェックするをニフティクリップに追加

例えば郵便番号や電話番号などのチェックに、半角数字のみかをチェックをしたい。このような場合には、正規表現を用いると良い。

;#
;#入力チェック
;#

if( isNumeric('abc123') ){
  print "数字だけ\n";
}
else{
  print "数字以外\n";
}


#---------------------------------------
#数字のみかチェックする
#---------------------------------------
sub isNumeric{
  my $str = shift;

  #-- 数字のみか --#
  if( $str =~ /^[0-9]{1,}$/ ){
    return(1);
  }
  #-- 数字以外が含まれる --#
  else{
    return(0);
  }
}

「{1,}」は1以上という意味の量指定子を用いているが、「[0-9]+」などのように「+」で表現しても良い。ただ個人的には見た瞬間に理解できる方がオススメ。




■関連ページ
半角数字だけかチェックする
半角英字のみかチェックする
半角英数字のみかチェックする
半角数字を全角数字へ変換する
全角数字を半角数字へ変換する
全角カナを半角カナへ変換する
半角カナを全角カナへ変換する
半角カナが含まれているかチェックする




トラックバック

このエントリーのトラックバックURL:
http://katsubemakito.net/mt/mt-tb.cgi/395

この一覧は、次のエントリーを参照しています: 半角数字だけかチェックする:

» 半角英数字のみかチェックする from CGI(Perl)例文集
入力内容が半角英数字のみかチェックしたい。これも正規表現で簡単に実現できる。... [詳しくはこちら]

» 半角数字だけかチェックする from CGI(Perl)例文集
例えば郵便番号や電話番号などのチェックに、半角数字のみかをチェックをしたい。この... [詳しくはこちら]

コメント

my $str = shift || return(undef);

は、isNumeric(0); は正しい値(数値)を返さない。単純に、

my $str = shift;

でよい。

>KKENさん
おお、確かに。
これはうっかりですね。先ほど修正しました。

ご指摘ありがとうございます。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

VPSレンタルサーバー




クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.