解析以检查是否存在Javascript
我甚至设置了一个onclick来获取输入的值,如果该值是一个数字,就会发出警报。如果输入的值为空,我试图提醒它说“No Number”,但是,即使我的输入it empty,函数也会返回一条语句,说明“empty”值确实是一个数字 我已经设置了变量来立即解析输入的值,但这就是为什么我的代码总是返回“is a number”,因为它在收集变量时会自动设置为1 代码: HTML: 尝试使用以下方法: 而不是解析以检查是否存在Javascript,javascript,parsing,if-statement,Javascript,Parsing,If Statement,我甚至设置了一个onclick来获取输入的值,如果该值是一个数字,就会发出警报。如果输入的值为空,我试图提醒它说“No Number”,但是,即使我的输入it empty,函数也会返回一条语句,说明“empty”值确实是一个数字 我已经设置了变量来立即解析输入的值,但这就是为什么我的代码总是返回“is a number”,因为它在收集变量时会自动设置为1 代码: HTML: 尝试使用以下方法: 而不是 numberTest == NaN 根据,NaN永远不等于NaN,因此NaN==NaN或Na
numberTest == NaN
根据,NaN永远不等于NaN,因此NaN==NaN或NaN==NaN将始终返回false
顺便说一句,你应该改变这一点:
if(numberTest == NaN || "" || null)
为此:
if(isNaN(numberTest) || numberTest == "" || numberTest == null)
因此,您总是将变量与值进行比较。检查
==NaN
将始终返回false
。正确的方法是:
您在
if
中的逻辑也有一些问题-每个子句都是一个单独的表达式,因此每次都需要检查numberTest
。这是另一种了解值是否为number的方法
function IsANumber(numberToValidate) {
return $.isNumeric(numberToValidate.replace(",", "").replace(".", ""));
}
$("[id^=YourIDButton]").click(function(){
if(IsANumber($(this).val())){
alert("This is a number!");
}else{
alert("No number");
}
}
可能是重复的那可能更好实际上谢谢Liam,我会查出来的!
if(numberTest == NaN || "" || null)
if(isNaN(numberTest) || numberTest == "" || numberTest == null)
var button = document.getElementById("button");
button.onclick = function() {
var numberTest = parseInt(document.getElementById("numberTest").value);
if (Number.isNaN(numberTest) || numberTest == "" || numberTest === null) {
alert("No Number");
}
else {
alert("This is a number!");
}
};
function IsANumber(numberToValidate) {
return $.isNumeric(numberToValidate.replace(",", "").replace(".", ""));
}
$("[id^=YourIDButton]").click(function(){
if(IsANumber($(this).val())){
alert("This is a number!");
}else{
alert("No number");
}
}