半角数字のみかチェックする - Perl

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

サンプル

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

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]+」などのように「+」で表現しても良い。ただ個人的には見た瞬間に理解できる方がオススメ。