Javascript 如何在js中检查输入是否为数字
这是我一直在编写的代码Javascript 如何在js中检查输入是否为数字,javascript,Javascript,这是我一直在编写的代码 var storeUsersInfo = []; var amountOfUsers = prompt("How many users do you want?"); amountOfUsers = parseInt(amountOfUsers); function returnUserInput() { var askFirstName = prompt("What is your first name?"); var askLastName = pro
var storeUsersInfo = [];
var amountOfUsers = prompt("How many users do you want?");
amountOfUsers = parseInt(amountOfUsers);
function returnUserInput() {
var askFirstName = prompt("What is your first name?");
var askLastName = prompt("What is your last name" + " " + titleCase(askFirstName) + "?");
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
if(askAge != int) {
alert("Not a valid input")
};
return {
firstName: titleCase(askFirstName),
lastName: titleCase(askLastName),
age: askAge
};
};
function titleCase(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
};
for(var i = 0; i < amountOfUsers; i++) {
storeUsersInfo[i] = returnUserInput();
}
console.log(storeUsersInfo);
var-storeUsersInfo=[];
var amountOfUsers=prompt(“您想要多少用户?”);
amountOfUsers=parseInt(amountOfUsers);
函数returnUserInput(){
var askFirstName=prompt(“您的名字是什么?”);
var askLastName=prompt(“您的姓是什么”+“”+titleCase(askFirstName)+“?”;
var askAge=prompt(“您多大岁数”+“”+titleCase(askFirstName)+”+“”+titleCase(askLastName)+“?”;
如果(askAge!=int){
警报(“非有效输入”)
};
返回{
名字:滴定酶(askFirstName),
姓氏:titleCase(askLastName),
年龄:askAge
};
};
函数标题酶(字符串){
返回string.charAt(0.toUpperCase()+string.slice(1);
};
对于(var i=0;i
我想知道如何检查askAge的输入,看它是否等于一个数字
我尝试了一些代码,正如你在第9-12行看到的,但我无法理解。我知道这和typeof有关
想法?将其乘以1,如果它返回NaN且与原始输入不相同,则它不是一个数字
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
var askedAge=parseInt(askAge)*1;
if(askedAge != askAge) {
alert("Not a valid input");
}
将它乘以1,如果它返回NaN并且与原始输入不相同,则它不是一个数字
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
var askedAge=parseInt(askAge)*1;
if(askedAge != askAge) {
alert("Not a valid input");
}
我想你可以用这个密码
function isNumeric(x) {
return !isNaN(parseFloat(x)) && isFinite(x);
}
我想你可以用这个密码
function isNumeric(x) {
return !isNaN(parseFloat(x)) && isFinite(x);
}
你可以用
Number.isInteger(askAge)
参考:
您可以使用
Number.isInteger(askAge)
参考:
试试这个
试试这个
这可以使用和的组合来解决。这两个项目都已在中国标准化 以下表达式将检查年龄是否有效:
Number.isInteger(Number.parseInt(askAge));
注意,您必须首先将用户输入解析为整数;这可能会导致一个有效的整数,也可能导致NaN
如果它是整数,则
Number.isInteger
将使表达式为true
;否则,解析后的数字为NaN
,表达式将变为false
这可以使用和的组合来解决。这两个项目都已在中国标准化
以下表达式将检查年龄是否有效:
Number.isInteger(Number.parseInt(askAge));
注意,您必须首先将用户输入解析为整数;这可能会导致一个有效的整数,也可能导致NaN
如果它是整数,则
Number.isInteger
将使表达式为true
;否则,解析的数字为NaN
,表达式将变为false
神秘的答案:
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
if(!Number.isInteger(Number.parseInt(askAge))) {
alert("Not a valid input")
};
更多信息:
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
if(!Number.isInteger(Number.parseInt(askAge))) {
alert("Not a valid input")
};
您的假设部分正确,您必须检查数字的类型,以确保它是一个数字,也是一个整数。如何做到这一点有几个选择。这是一个应该有效的方法
您必须确定是否要使用Number()
或Number.parseInt()
,因为该确定将在此处对接受的值产生差异
鉴于此,我选择在这个答案中使用parseInt
。我还将其构造为不接受0作为用户数的值
首先,我们在Number
中使用或创建isInteger
和parseInt
:
Number.isInteger = Number.isInteger || function(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
};
Number.parseInt = Number.parseInt || parseInt;
声明我们的其他函数:(注释)
使用以下功能:
var storeUsersInfo = [];
var amountOfUsers = 0;
var enteredCount = 0;
do {
amountOfUsers = prompt("How many users do you want?");
enteredCount = Number.parseInt(amountOfUsers, 10);// parse it
} while (!(Number.isInteger(Number.parseInt(amountOfUsers, 10))) && !enteredCount > 0)
amountOfUsers = enteredCount;
for (var i = 0; i < amountOfUsers; i++) {
storeUsersInfo[i] = returnUserInput();
}
console.log(storeUsersInfo);// console.dir might also work (better?)
var-storeUsersInfo=[];
var-amountfuser=0;
var enteredCount=0;
做{
amountOfUsers=prompt(“您想要多少用户?”);
enteredCount=Number.parseInt(amountOfUsers,10);//解析它
}而(!(Number.isInteger(Number.parseInt(amountfuser,10))&!enteredCount>0)
AmountFuser=输入的计数;
对于(var i=0;i
神秘的答案:
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
if(!Number.isInteger(Number.parseInt(askAge))) {
alert("Not a valid input")
};
更多信息:
var askAge = prompt("How old are you" + " " + titleCase(askFirstName) + " " + titleCase(askLastName) + "?");
if(!Number.isInteger(Number.parseInt(askAge))) {
alert("Not a valid input")
};
您的假设部分正确,您必须检查数字的类型,以确保它是一个数字,也是一个整数。如何做到这一点有几个选择。这是一个应该有效的方法
您必须确定是否要使用Number()
或Number.parseInt()
,因为该确定将在此处对接受的值产生差异
鉴于此,我选择在这个答案中使用parseInt
。我还将其构造为不接受0作为用户数的值
首先,我们在Number
中使用或创建isInteger
和parseInt
:
Number.isInteger = Number.isInteger || function(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
};
Number.parseInt = Number.parseInt || parseInt;
声明我们的其他函数:(注释)
使用以下功能:
var storeUsersInfo = [];
var amountOfUsers = 0;
var enteredCount = 0;
do {
amountOfUsers = prompt("How many users do you want?");
enteredCount = Number.parseInt(amountOfUsers, 10);// parse it
} while (!(Number.isInteger(Number.parseInt(amountOfUsers, 10))) && !enteredCount > 0)
amountOfUsers = enteredCount;
for (var i = 0; i < amountOfUsers; i++) {
storeUsersInfo[i] = returnUserInput();
}
console.log(storeUsersInfo);// console.dir might also work (better?)
var-storeUsersInfo=[];
var-amountfuser=0;
var enteredCount=0;
做{
amountOfUsers=prompt(“您想要多少用户?”);
enteredCount=Number.parseInt(amountOfUsers,10);//解析它
}而(!(Number.isInteger(Number.parseInt(amountfuser,10))&!enteredCount>0)
AmountFuser=输入的计数;
对于(var i=0;i
如果用户以“空字符串”或“输入验证”的形式提供输入,该怎么办无论哪种方式-结果都是一样的-它不是一个数字,不应该被允许什么都不做。试试。。。。if(parseInt(askAge)…您还应该将您的返回放到else语句中-否则它将返回详细信息,而不考虑alert@user2181397-阅读它-仍然说它是输入验证的角色,用于分类可接受的输入,如果用户以空字符串“”或NaNcan形式提供输入,我可以说“输入验证”?-无论哪种方式-结果都是一样的-它不是一个数字,不应该被允许不做任何事情。尝试…如果(parseInt(askAge)…你也应该将你的返回放在else语句中-否则它将返回细节,而不管结果如何alert@user2