HTML 关于input和区分数字

输入两个整数。至少应该支持 [0, 1000] 中的整数。还应该有一个按钮单击该按钮应该实现循环通过区间从较低的输入值开始,到较大的输入值结束(都包括在内),并且有步长大小为一(即,使用递增顺序遍历区间内的每个整数)。用户不是需要以任何特定顺序给出下限和上限 - 您必须以编程方式检查,哪个值是较低的值,哪个值是较高的值。下限值和上限值也可以是相同。“hip”表示可被 3 整除的值,“hop”表示值可被 7 整除,“hiphop”表示可被 3 和 7 整除的值,否则为数值本身。每一个单击按钮时,应先删除旧行,然后再显示由新行生成的行。

问题相关代码,请勿粘贴截图
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="task3.css">
  <title>Value</title>
  <p>
    Input1:<input name="purchase_num" value="1" oninput="value=value.replace(/[^\d]/g,'');if(value>1000)value=1000"/>
    Input2:<input name="purchase_num" value="1" oninput="value=value.replace(/[^\d]/g,'');if(value>1000)value=1000"/>
    <input type="reset" value="Values set">
  </p>
</html>

我想要达到的结果

img

parseInt转下,比较大小然后交换值后for变量取模下就行了,示例如下

Input1:<input id="num1" value="1" oninput="resetValue(this)" />
Input2:<input id="num2" value="1" oninput="resetValue(this)" />
<input type="reset" value="Values set" onclick="getResult()">

<div id="result"></div>
<script>
    var num1 = 1, num2 = 1;
    function getResult() {
        num1 = parseInt(document.querySelector('#num1').value)||0
        num2 = parseInt(document.querySelector('#num2').value) || 0
        if (num1 > num2) [num1, num2] = [num2, num1];
        var arr = [];
        for (var i = num1; i <= num2; i++) {
            var hip = i % 3 == 0, hop = i % 7 == 0;
            if (hip && hop) arr.push('hiphop');
            else if (hip) arr.push('hip');
            else if (hop) arr.push('hop');
            else arr.push(i);
        }
        document.querySelector('#result').innerHTML = arr.join('<br>')
    }
    function resetValue(el) {
        var value = el.value;
        value = value.replace(/[^\d]/g, '');
        value = parseInt(value)||0;
        if (value > 1000) value = 1000;
        else if (value < 0) value = 0;
        el.value = value;
    }
</script>

有帮助麻烦点击采纳该答案,不是结题~

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632