使用自定义时间设定的随机数
Random number seeded with custom time
我正在尝试使用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"(这是输入字段之一)中获取值,然后获取第一个字符。之后,它将添加接下来的 9 个随机数字,并将最终值放入表单的 custom4(另一个输入字段)。到目前为止,javascript工作正常。但是,我宁愿让随机数字与当前时间一起播种。我认为这将是非常随机的。这可能吗?
JavaScript 标准随机 API 不支持显式种子(这是一种耻辱)。这是规格:
返回一个带正号的数字值,大于或等于 0 但小于 1,随机选择或伪随机选择,大约 在该范围内均匀分布,使用 依赖于实现的算法或策略。此函数不需要 参数。
如果你真的需要用给定的数字来种子你的生成器,你将不得不使用像这样的库(未经我测试)。
但是 JavaScript 随机 API 是隐式种子的,这确保了你会有不同的结果。没有关于如何播种的 ECMAScript 规范,但可能所有浏览器都使用时间进行播种。MDN说
随机数生成器从当前时间开始设定种子,如 爪哇岛。
我必须纠正自己。这只对Mozilla是正确的(据我所知):JavaScript随机API已经使用当前时间作为种子。无需双重操作(并且不受支持)。
该规范没有提到算法或策略如何生成随机数以及是否以及如何设定
谢谢。最后我有下面这样的东西
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;
}
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 如何在javascript中获得与特定数字相等的随机数
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 高库存时期时间与时区不匹配
- Javascript动态变量(添加了随机数)
- 使用自定义时间设定的随机数
- jQuery在随机时间生成随机数
- 随机数生成器基于当前时间和出生日期