Math.floor(Math.random()*range) + min
range……2つの数値のあいだにある数値の個数
min……2つの数値のうち小さいほうの値
なお、フォームに入力した数値は文字として扱われるので、
ボディ部分ではparseInt()で入力値を数値に変換している。
ヘッダ部分
<SCRIPT LANGUAGE="JavaScript">
//num1からnum2の間の数値をランダムに返す汎用関数
function rangeRandom(num1,num2) {
if((num1 - num2) > 0) {
var big = num1
var small = num2
} else {
var big = num2
var small = num1
}
var range = big - small + 1
var number = Math.floor(Math.random()*range) + small
return(number)
}
</SCRIPT>
ボディ部分
<FORM NAME="form1">
最大値 <INPUT TYPE="text" NAME="max" SIZE="5" VALUE=100>
最小値 <INPUT TYPE="text" NAME="min" SIZE="5" VALUE=0>
乱数 <INPUT TYPE="text" SIZE="5" NAME="result">
<INPUT TYPE="button" VALUE="乱数を求める" onClick="document.form1.result.value=rangeRandom(parseInt(document.form1.max.value),parseInt(document.form1.min.value))">
</FORM>