2013-04-01 3 views
0

Есть ли это до сих пор, но не работает?Возраст Валидация Javascript

//if no age was entered it will allow 
var age=document.getElementById('age1').value; 
if(age == "")  
    return true; 

//check if age is a number or less than or greater than 100 
if (isNaN(age)||age<1||age>100) 
{ 
    alert("The age must be a number between 1 and 100"); 
    return false; 
} 

Мне просто нужно проверить !!!!

ответ

0

Вы захотите parseInt() значение, которое вы вернете в возрасте, поскольку оно входит в строку.

0

Вы должны преобразовать свою строку в число, используя parseInt(value, radix). При использовании этого метода рекомендуется использовать radix. В вашем случае это десятичное число, поэтому radix - 10.

Попробуйте это:

//if no age was entered it will allow 
var age=document.getElementById('age1').value; 
if(age === "") { 
    return true; 
} 

// convert age to a number 
age = parseInt(age, 10); 

//check if age is a number or less than or greater than 100 
if (isNaN(age) || age < 1 || age > 100) 
{ 
    alert("The age must be a number between 1 and 100"); 
    return false; 
} 
1

попробовать ярлык + преобразовать в Number или использовать parseInt(value, 10)

var age = +document.getElementById('age1').value; 

if (!(age > 1 && age<100)){ 

     alert("The age must be a number between 1 and 100"); 
     return false; 
} 

return true; 
0

Почему бы вам не использовать регулярное выражение для проверки этого. Используйте ниже регулярное выражение для этого:

/^[1-9]?[0-9]{1}$|^100$/ 

Это регулярное выражение, которое совпадает с числом 1 или 2-х цифр, или 100:

+0

Хорошее предложение, но вы хотели бы дать более конкретный шаблон регулярного выражения. Попробуйте ваше регулярное выражение против 'donotmatch100',' donotmatch10or0' и 'donotmatch10or0orme'. –

+0

Thnks @Tanzeel Kazi, я обновил ответ –

+0

Добро пожаловать. :) –

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