将数字验证为正数
Validate a number as a positive number
我已经将一个数字验证为正数,但它没有给出正确的答案,即它也接受负数。我哪里错了?
<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>
this:
(parseInt)class1.value<0
应该是:
parseInt(class1.value, 10) < 0
10将强制它被评估为基数10,并且不允许JavaScript"猜测"它认为它是哪个基数。在以前版本的ECMAScript中,在开头有一个"0"的字符串会诱使parseInt认为这个数字应该被解释为八进制。
ParseInt文档
您还试图通过id获取元素,并且已经通过name指定了该元素。
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/
相关文章:
- 我应该使用什么正则表达式来验证数字模式
- 仅在jQuery验证中验证数字、括号和空格
- 验证数字是否在0.00到20.00之间的正则表达式
- 用于验证数字范围的正则表达式
- 如何验证数字是否为整数
- javascript/jQuery:使用 .each 时验证数字
- 仅验证数字字符的 PDF 表单字段
- 欧芹.js - 仅验证数字的可选输入
- 如何在Javascript中使用正则表达式来验证数字
- 如何使用Javascript针对0.5增量验证数字
- 使用javascript中的常规exp验证数字,但在一种情况下不起作用
- 验证数字Javascript
- Javascript验证数字xhtml
- Angular JS-如何验证数字输入中的位数
- 用短划线angularjs验证数字
- 验证数字并允许空格
- Javascript 正则表达式,用于验证数字是否以前导零开头
- 如何在javascript中验证数字输入
- 在Javascript中验证数字
- JavaScript -仅验证数字/字母