需要检查用户输入的是否是数字。代码未按预期工作。有人能告诉我怎么了吗?
Need to check whether user input is a number. Code is not working as intended. Can someone tell me what's wrong?
只需要检查数据用户在提示中输入的是Javascript
中的数字
var userAge = prompt("Please enter your age", "");
if (typeof userAge == 'number') {
document.write("You are " + userAge + " years old.");
} else {
document.write('Please enter a valid number');
}
当我输入 28 岁进行测试时,我希望 "You are 28 years old." 会打印到文档中。但是,它会打印代码的其他部分:"Please enter a valid number."
来自 prompt
的值是 string
。使用 isNaN
代替:
var userAge = prompt("Please enter your age", "");
if (isNaN(userAge)) {
document.write('Please enter a valid number');
} else {
document.write("You are " + userAge + " years old.");
}
JavaScript 中用单引号或双引号括起来的任何数字或值都被视为字符串,因此,typeof userAge
等于 'string'
。
改用此代码:
var userAge = prompt("Please enter your age", "");
if (/^\d+[.]?\d+$/.test(userAge)) {
document.write("You are " + userAge + " years old.");
} else {
document.write('Please enter a valid number');
}
只需使用 Number.parseInt()
, then use Number.isNaN()
转换为数字,如下所示:
var userAge = parseInt(prompt("Please enter your age"));
if (isNaN(userAge)) {
document.write('Please enter a valid number');
} else {
document.write("You are " + userAge + " years old.");
}
只需要检查数据用户在提示中输入的是Javascript
中的数字 var userAge = prompt("Please enter your age", "");
if (typeof userAge == 'number') {
document.write("You are " + userAge + " years old.");
} else {
document.write('Please enter a valid number');
}
当我输入 28 岁进行测试时,我希望 "You are 28 years old." 会打印到文档中。但是,它会打印代码的其他部分:"Please enter a valid number."
来自 prompt
的值是 string
。使用 isNaN
代替:
var userAge = prompt("Please enter your age", "");
if (isNaN(userAge)) {
document.write('Please enter a valid number');
} else {
document.write("You are " + userAge + " years old.");
}
JavaScript 中用单引号或双引号括起来的任何数字或值都被视为字符串,因此,typeof userAge
等于 'string'
。
改用此代码:
var userAge = prompt("Please enter your age", "");
if (/^\d+[.]?\d+$/.test(userAge)) {
document.write("You are " + userAge + " years old.");
} else {
document.write('Please enter a valid number');
}
只需使用 Number.parseInt()
, then use Number.isNaN()
转换为数字,如下所示:
var userAge = parseInt(prompt("Please enter your age"));
if (isNaN(userAge)) {
document.write('Please enter a valid number');
} else {
document.write("You are " + userAge + " years old.");
}