Javascript 验证负数
我正在寻找一个新的功能,将验证字段,但允许负数以及正数,例如=/-999.99。任何人都会有一个快速简单的解决方案。谢谢Javascript 验证负数,javascript,Javascript,我正在寻找一个新的功能,将验证字段,但允许负数以及正数,例如=/-999.99。任何人都会有一个快速简单的解决方案。谢谢 function validateNumber(thenumber){ try{ validnumbers = "0123456789.,"; valid = false; for(i=0;i<thenumber.length;i++){ if (validnumbers.indexOf(thenumber.char
function validateNumber(thenumber){
try{
validnumbers = "0123456789.,";
valid = false;
for(i=0;i<thenumber.length;i++){
if (validnumbers.indexOf(thenumber.charAt(i)) == -1)
{
valid = false;
break;
}
else
valid = true;
}
return valid;
}catch(e){}
}
函数validateEnumber(编号){
试一试{
validNumber=“0123456789.,”;
有效=错误;
对于(i=0;i这个简单函数怎么样
function validateNumber(thenumber)
{
thenumber = thenumber.replace(".", "").replace(",", ".");
return !isNaN(thenumber);
}
该函数删除点,然后用点替换逗号。然后用带否定的形式返回其是否有效。您可能需要添加一个检查编号是否为字符串,以防止运行时出错。使用isNaN
function validateNumber(thenumber){
return !isNaN(thenumber);
}
isNaN
对于正数和负数都将返回false请尝试以下操作:
function isNumber(value) {
value = value.replace(',', '.');
return !isNaN(value);
}
function isNegative(value) {
return (isNumber(value) && value<0);
}
function isPositive(value) {
return (isNumber(value) && value>0);
}
尝试以下表达式:
(number < 0)
(number > 0)
将以相同的方式由JavaScript进行评估。我认为更好的方法是使用常规表达式:
search()方法使用表达式搜索匹配项,并返回匹配项的位置(在其他情况下返回-1)。以下是一个示例:
public function validNumber(number)
{
return number.search("^[+-]?[0-9]{1,9}(?:\.[0-9]{1,2})?$") > 0;
}
您最好使用一个RegExp,那么Math.abs()
对于…
“负数和正数”将返回true
。我相信您的isNumber
函数可能返回错误的值。例如:如果您尝试检查12.123,12
,它将变成12.123.12
,并且isNumber
将返回false。这是可以的,但事实上数字是有效的,对吗?当然12.123.12不是数字,12.12312是数字。添加函数作为奖励:)@DontVoteMeDown,从什么时候起,12.123,12
或12.123.12
是有效数字?@Jongware,没有。你试过吗?我有过parseInt真的需要吗?或者在某些边缘情况下它会导致意外结果吗?我有一个问题:为什么这!isNaN(parseInt(“13.12313123dasd.asd1”))
的计算结果为真
?他还想验证正数。@topcat3,为什么会有尖刻的评论?如果答案不符合您的需要,请解释原因。@DontVotemown没有尖刻的评论。非常感谢您的帮助。
public function validNumber(number)
{
return number.search("^[+-]?[0-9]{1,9}(?:\.[0-9]{1,2})?$") > 0;
}