2014-11-27 2 views
0

Я искал проверку ввода данных, чтобы проверить, является ли это целым числом или строкой. Я огляделся и увидел некоторые предложения и предложения typeof, но ничего не работает.Проверка ввода данных javascript

var nam = prompt("Enter name:") 
    person.push(nam); 
var mk1 = prompt("Enter mark 1:"); 
    var mk1 = parseInt(mk1); 
    mark1.push(mk1); 

ответ

0

Если вы хотите, чтобы проверить, является ли входной строки это не номер, попробуйте это:

if (isNaN(parseInt(name, 10)) { 
    //name is String 
} else { 
    //name is Number 
} 
0

использовать оператор === ниже

if (mk1 === parseInt(mk1 , 10)) 
    alert("mk1 is integer") 
else 
    alert("mk1 is not an integer. May be String") 

Если вы не знаете, что аргумент является number-

function isInt(n){ 
    return Number(n)===n && n%1===0; 
} 
0

Попробуйте t его способ найти тип ввода;

if(!isNaN(parseInt(mk1))) 
    // for integer 
else if(!isNaN(parseFloat(mk1))) 
//for float 
else 
// String 
0

При prompt() пользователя для данных, вы always get a string. Если вы хотите, чтобы проверить, на самом деле, содержит ли он только номер, вы можете попробовать это:

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) для вещественных чисел).

0

Трудно сказать, что вы пытаетесь сделать на самом деле. Кажется, вы объявляете var mk1 дважды, что выглядит немного странно. Кроме того, даже если parseInt терпит неудачу (затем возвращает NaN [Not a Number]), вы добавляете его в 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"); 
} 
0

Используйте эту функцию: IsNaN (ParseInt (Mk1))

Она возвращает "истина", если не число, и "ложь", если число

Смежные вопросы