0

javascriptを使用して以下のように乱数を作成しようとしています

function valid(form) {
  var input = 0;
  var input = document.getElementById('custom1').value;
  var final_input = input.charAt(0);
  var number = 1000000000 - Math.floor(Math.random() * 1000000000);
  final_input = final_input + number;
  document.getElementById('custom4').value = final_input;
}

「custom1」(入力フィールドの 1 つ) から値を取得し、最初の文字を取得するという考え方です。その後、次の 9 つのランダムな数字を追加し、最終的な値をフォームの custom4 (別の入力フィールド) に入れます。これまでのところ、JavaScriptは正常に機能しています。ただし、乱数に現在の時刻をシードすることをお勧めします。それは本当にランダムになると思います。それは可能ですか?

4

3 に答える 3

1

私は自分自身を正さなければなりません。これは (私の知る限り) Mozilla でのみ正しいです: JavaScript のランダム API は既に現在の時刻をシードとして使用しています。二重にする必要はありません (サポートされていません)。

仕様では、乱数がどのように生成されるか、および乱数がシードされるかどうか、およびどのようにシードされるかについてのアルゴリズムまたは戦略については言及されていません。

于 2013-09-09T11:08:08.600 に答える
0

ありがとう..最終的に私は以下のようなものを持っています

function valid(form) {
  var input = 0;
  var input = document.getElementById('custom1').value;
  var final_input = input.charAt(0);
  var number = new Date().valueOf(); /*1000000000 - Math.floor(Math.random() * 1000000000);*/
  final_input = final_input + number;
  document.getElementById('custom4').value = final_input;
}
于 2013-09-09T11:41:29.310 に答える