Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证数据输入javascript_Javascript_Validating - Fatal编程技术网

验证数据输入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”