gpt4 book ai didi

javascript - 检查按钮单击时的整数输入

转载 作者:行者123 更新时间:2023-11-28 14:03:10 25 4
gpt4 key购买 nike

我正在尝试让这个 Javascript 在我的应用程序中正常工作。

function validateQuantity(field)
{
var value = field.value; //get characters
//check that all characters are digits, ., -, or ""
for(var i=0; i < field.value.length; ++i)
{
var new_key = value.charAt(i); //cycle through characters
if(((new_key <= "0") || (new_key > "9")) &&
!(new_key == ""))
{
alert("Please enter number and greater than 0 only");
return false;
break;
}
return true;
}
}

我有一个输入按钮,如下所示

<input class="buttonToLink" type="submit" value="Update" 
onclick="return validateQuantity(document.getElementById('quantity'))"/>

以上代码成功检查所有字母(例如“abc”)或字母和数字(例如“abcd123”)的输入为 false。

但是,当我将数字字符与“123abc”等字母放在一起时,它会失败 - 它不会显示警报。

我的代码做错了什么,如何修复?

最佳答案

function validateQuantity(field) {
if (!/^\d+$/.test(field.value)) { // is an integer
alert("Please enter number and greater than 0 only");
return false;
}

return true;
}

您的代码不起作用的原因是循环内有 return true 语句。一旦它看到一个有效的整数,它就会返回 true 并退出函数,忽略后面的任何内容。例如,允许“123abc”等字符串。

这可能就是您想要的:

function validateQuantity(field)
{
var value = field.value; //get characters
//check that all characters are digits, ., -, or ""
for(var i=0; i < field.value.length; ++i)
{
var new_key = value.charAt(i); //cycle through characters
if(((new_key <= "0") || (new_key > "9")) &&
!(new_key == ""))
{
alert("Please enter number and greater than 0 only");
return false;
break;
}
}

return true;
}

关于javascript - 检查按钮单击时的整数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852273/

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