You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现每日(24小时)生成随机数,刷新不改变且次日自动更新

实现每日固定、次日自动更新的随机数功能

要实现当日刷新浏览器随机数不变,次日自动生成新数的需求,核心是通过本地存储持久化随机数和对应的日期标识,每次页面加载时校验日期来决定复用旧数还是生成新数。以下是修改后的完整代码:

<script type="text/javascript">
// 生成当日的YYYY-MM-DD格式日期,作为判断日期的唯一标识
function getTodayDateKey() {
  const today = new Date();
  return `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;
}

const elements = document.getElementsByClassName("result");
const dateKey = getTodayDateKey();
// 从localStorage读取已存储的随机数和日期信息
const storedData = JSON.parse(localStorage.getItem('dailyRandomNumber')) || {};

let randomNumber;
// 校验存储的日期是否与当日一致
if (storedData.date === dateKey) {
  // 日期一致,复用已存储的随机数
  randomNumber = storedData.number;
} else {
  // 日期不一致,生成新的随机数(范围:99999 ~ 109998)
  randomNumber = Math.floor((Math.random() * 10000) + 99999);
  // 将新随机数和当日日期存入localStorage
  localStorage.setItem('dailyRandomNumber', JSON.stringify({
    date: dateKey,
    number: randomNumber
  }));
}

// 更新所有带有result类的元素内容
for (let element of elements) {
  element.innerText = randomNumber;
}
</script>

关键逻辑说明

  • 日期标识:通过getTodayDateKey生成标准格式的当日日期,确保不同日期的判断唯一且准确
  • 本地存储:使用localStorage保存随机数和日期,关闭浏览器后数据不会丢失,刷新页面时可直接读取
  • 校验逻辑:每次页面加载时先对比存储的日期和当日日期,一致则复用旧数,否则生成新数并更新存储

内容的提问来源于stack exchange,提问作者yucos eko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:22:44