当前位置: 首页 > article >正文

JS使用random随机数实现简单的四则算数验证

1.效果图

请添加图片描述

2.代码实现

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" id="input" >
    <span id="num1"></span>
    <span id="op"></span>
    <span id="num2"></span>
    <span>=</span>
    <span id="sum">?</span>
    <button id="btn" onclick="sumbit()">提交</button>
    <script src="./js/index.js"></script>
</body>
</html>

index.js

let num1_text = document.getElementById(`num1`)
let num2_text = document.getElementById(`num2`)
let sum_text = document.getElementById(`sum`)
let input = document.getElementById(`input`)
let op_text = document.getElementById(`op`)
let num1, num2, op
//生成随机数的方法
let rand = (min, max) => {//传入随机数范围
    result= parseInt((max-min+1)*Math.random()+min)//将结果转为整数
    return result //返回结果
}
//初始化方法
let init = () => {
    num1 = rand(1, 10)//生成一个1~10之间的随机数赋给num1
    num2 = rand(1, 10)//生成一个1~10之间的随机数赋给num2
    switch (rand(1, 4)) {//随机生成四则运算符
        case 1: op_text.textContent = `+`,op=`+`; break//当随机数为1为+,并将值赋给op
        case 2: op_text.textContent = `-`, op = `-`; break
        case 3: op_text.textContent = `*`, op = `*`; break
        case 4: op_text.textContent = `/`, op = `/`; break
    }
    num1_text.textContent = `${num1}`//将当前num1的值显示到前端对应的标签中
    num2_text.textContent = `${num2}`
}
//页面加载时先执行一次
init()
//声明一个点击事件的方法
let sumbit = () => {
    //根据上面随机到的op,num1,num2结合获取到前端输入框中的值进行判断
    if (op == `+`&& parseInt(input.value)==(num1+num2)) alert("验证成功")
    else if (op == `-` && parseInt(input.value) == (num1 - num2)) alert("验证成功")
    else if (op == `*` && parseInt(input.value) == (num1 * num2)) alert("验证成功")
    else if (op == `/` && parseInt(input.value) == parseInt(num1 / num2)) alert("验证成功")
    else alert("验证失败")
    //提交后再次初始化
    init()
}

http://www.kler.cn/a/443539.html

相关文章:

  • 20241218-信息安全理论与技术复习题
  • 鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表
  • 【信息系统项目管理师】高分论文:论信息系统项目的沟通管理(银行绩效考核系统)
  • 常用的公共 NTP(网络时间协议)服务器
  • vant 地址记录
  • swiftui开发页面加载发送请求初始化@State变量
  • transformer学习笔记-位置编码
  • 使用 NVIDIA DALI 计算视频的光流
  • 【设计模式】单例模式的应用场景
  • 计算机的错误计算(一百八十五)
  • AI-PR曲线
  • C++中如何实现单例模式?
  • 【Maven】基础(一)
  • 深度神经网络(DNN)在时序预测中的应用与缺陷
  • 前端 计算发布时间(如“1小时前”、“3天前”等)
  • Mybatis plus查询开用了Redis缓存,一开始挺快,用户多/时间拉长就变慢了
  • django基于python的图书馆管理系统
  • 重生之我在异世界学智力题(8)
  • Python中exifread库使用
  • microk8s使用
  • 通过枚举值调用函数
  • 详解CompletableFuture
  • 写SQL太麻烦?免费搭建 Text2SQL 应用,智能写 SQL | OceanBase AI 实践
  • SSM 寝室管理系统:住宿管理的科技之光
  • 腾讯地图+vue实现后台设置某外卖店铺的位置坐标
  • SAP抓取外部https报错SSL handshake处理方法