• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現を用いた整数、少数のチェック)

JavaScript正規表現を用いた整数、少数のチェック方法とは?

このQ&Aのポイント
  • JavaScriptでテキストボックスから入力された年齢と身長の値を正規表現を使ってチェックする方法について教えてください。
  • 年齢は0以上の整数で、半角数字が入力されていることをチェックします。ただし、0以外の頭に0が来る数字は許可しません。
  • 身長は0より大きい整数または少数で、半角数字と小数点が入力されていることをチェックします。整数の場合、0以外の頭に0が来る数字は許可しません。少数の場合、最下位の数字は小数点以外の数字であることをチェックします。

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

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.1

問題は ^$ を使ってないことで、部分一致になってしまっています。 function chkAge(age){ if(/^(?:0|[1-9][0-9]*)$/.test(age.toString())){ alert('age OK!'); } else { alert("年齢を半角数字で入力してください。"); } } function chkHeight(height){ if(/^(?:[1-9]\d*|0)(?:\.\d*[1-9])?$/.test(height.toString())){ alert('height OK!'); } else { alert("身長を半角数字で正しく入力してください。"); } } chkAge(0); chkHeight("10.0"); chkHeight(10.11); chkHeight(10.11.11); > 0以外の数字があれば最下位の数字が0でも許可してしまう。(例:123.0) 文字列型の変数を渡してください。 chkHeight(10.0); はパスしますが、chkHeight("10.0"); はパスしません。

vividPink
質問者

お礼

稚拙な質問だったにも関わらず 大変解りやすく、的確な回答を頂きましてありがとうございました。 無事に問題を解決することができました。 本当に本当にありがとうございました!!

関連するQ&A