【JavaScript】不正な数値かチェックする

ようすけ

2009年10月05日 09:00

Number.NaN
数値ではないこと(Not a Number)を示す特別な値。
比較演算子が使えないので、Number.NaNであるかどうかはisNaN()で判断する。

isNaN(arg1)
arg1がNumber.NaNであるかを判断する(is Not a Number)
数値として判断できないときに「true」
数値として判断できるときに「false」

月(1~12)の入力が正しいか
※タグの半角「」は表示上、全角に「<」「>」になっている。
<html>
<head>
<title>テスト</title>
<script type="text/javascript">
<!--
function IsMonth()
{
 var objForm = document.forms[0];
 var str = objForm.textbox1.value;
 
 //parseIntは第2引数で10進数の指定をしないと「08」「09」は0になる!
 var month = parseInt(str,10);

 if( isNaN( month ) )
 {
  alert('数値じゃない\n'+'str='+ str + ' , '+'month='+month);
  return;
 }

 if( month < 1 || 12 < month )
 {
  alert('1~12じゃない\n'+'str='+ str + ' , '+'month='+month );
  return;
 }

 alert(month+'月');
}
// -->
</script>
</head>
<body>
<form>
<input type="text" name="textbox1" size="20" >

関連記事