gpt4 book ai didi

javascript - 验证数字是否为正数

转载 作者:行者123 更新时间:2023-11-28 18:38:30 25 4
gpt4 key购买 nike

我已验证一个数字为正数,但它没有给出正确的答案,即它也接受负数。我哪里出错了?

<script type="javascript">
function validatenumber(){
var class1=document.getElementById("class");
if((parseInt)class1.value<0){
alert("Please enter positive integer");
return false;
}
}
</script>

<form name="addbook" action="addbook.php" method="get" onsubmit="validatenumber();">
Code:<br/><input type="text" name="code"><br/>
Class:<br/><input type="number" name="class"><br/>
title:<br/><input type="text" name="title"><br/>
price:<br/><input type="number" name="price"><br/>
quantity:<br/><input type="number" name="quantity"><br/>
category:<br/><input type="text" name="category"><br/>
<input type="submit" value="submit"><br/>
</form>

最佳答案

这个:

(parseInt)class1.value<0

应该是:

parseInt(class1.value, 10) < 0

10 将强制将其计算为基数 10,并且不允许 JavaScript“猜测”它认为是哪个基数。在 ECMAScript 的早期版本中,开头带有“0”的字符串会欺骗 parseInt 认为该数字应该被解释为八进制。

ParseInt Documentation

您还尝试通过 id 获取元素,并且您已通过名称指定。

Class:<br/><input type="number" name="class"><br/>

你可以给元素一个id,或者你可以使用

var class1=document.getElementsByName("class")[0];

而不是:

var class1=document.getElementById("class");

和你有 type="javascript" 并且它应该是 language="javascript"

https://jsfiddle.net/wvapgjs6/1/

关于javascript - 验证数字是否为正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36556844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com