验证数据输入javascript
我一直希望验证数据输入,以检查它是整数还是字符串。我环顾四周,看到了一些建议和验证数据输入javascript,javascript,validating,Javascript,Validating,我一直希望验证数据输入,以检查它是整数还是字符串。我环顾四周,看到了一些建议和typeof建议,但似乎没有任何效果 var nam = prompt("Enter name:") person.push(nam); var mk1 = prompt("Enter mark 1:"); var mk1 = parseInt(mk1); mark1.push(mk1); 使用===运算符,如下所示 if (mk1 === parseInt(mk1 , 10))
typeof
建议,但似乎没有任何效果
var nam = prompt("Enter name:")
person.push(nam);
var mk1 = prompt("Enter mark 1:");
var mk1 = parseInt(mk1);
mark1.push(mk1);
使用===运算符,如下所示
if (mk1 === parseInt(mk1 , 10))
alert("mk1 is integer")
else
alert("mk1 is not an integer. May be String")
如果你不知道这个论点是一个数字-
function isInt(n){
return Number(n)===n && n%1===0;
}
如果要检查输入字符串是否不是数字,请尝试以下操作:
if (isNaN(parseInt(name, 10)) {
//name is String
} else {
//name is Number
}
var value = prompt('...'),
num = parseInt(value, 10);
if (num == value) {
// ... it is an integer, use `num`
} else {
// ... it's not an integer (or not *just* an integer), use `value`
}
试着用这种方法找到输入类型
if(!isNaN(parseInt(mk1)))
// for integer
else if(!isNaN(parseFloat(mk1)))
//for float
else
// String
当您prompt()
向用户输入数据时,您可以。如果要检查它是否只包含一个数字,可以尝试以下方法:
if (isNaN(parseInt(name, 10)) {
//name is String
} else {
//name is Number
}
var value = prompt('...'),
num = parseInt(value, 10);
if (num == value) {
// ... it is an integer, use `num`
} else {
// ... it's not an integer (or not *just* an integer), use `value`
}
(或者对实数使用
parseFloat(value)
。很难说你到底想做什么。您似乎两次声明了var mk1
,这看起来有点奇怪。此外,即使parseInt失败(然后返回NaN[不是数字]),也可以将其添加到mark1,这可能不是您想要的。看看这个:
var nam = prompt("Enter name:")
person.push(nam);
var mk1 = prompt("Enter mark 1:");
mk1 = parseInt(mk1);
if (Number.isNaN(mk1) === false) {
mark1.push(mk1);
} else {
alert("mark 1 is not a number");
}
使用此功能:
伊斯南(帕塞因特(mk1))
如果不是数字,它将返回“true”,如果是数字,它将返回“false”