• ベストアンサー

「半角数字」と「+」を許可する正規表現の書き方

「半角数字」と「+」(半角プラス)を許可する正規表現を書きたいです。 検索していて このような電話番号のチェックはよく見掛けます。 preg_match('/^\d{2,5}-?\d1,5}-?\d{3,5}$/', $tel) 今回は、下記のデータを許可したいです。 1+ 1254+ 21+1000+ 5154+45+987+201+ 桁の指定は不要で、+の後ろには数値が無い場合もあります。 「+」は数字の後に必ず付いてきます。 宜しくお願い致します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こんな感じで <?php $sample=array( "1+","1254+","21+1000+","5154+45+987+201+" //OK ,"111" //数字だけ ,"+" //プラスだけだけ ,"+222+333+" //先頭がプラス ,"444+555" //最後がプラスじゃない ,"66-7+888+" //数字プラス以外を含む ); $pattern="/^(\d+\+)+$/"; foreach($sample as $val){ print $val."=&gt;"; print preg_match($pattern,$val)?"OK":"NG"; print "<br>\n"; } ?>

kzkz-16
質問者

お礼

動作テストしました! 完璧ですね! ありがとうございます!

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

/^[0-9][0-9+]*$/

kzkz-16
質問者

お礼

ありがとうございます。

関連するQ&A