| 
	| 
	
	| 
		
	| 
			
			 
			
				31.03.2015, 19:07
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 31.03.2015 
						Сообщений: 15
					 
		
 |  |  
	| 
				как проверить, что введенные пользователем цифры - это действительно цифры?
			 Добрый вечер,Только начала изучать javascript , и каша в голове с функциями. Мне нужно было написать код рассчета суммы двх введенных пользователем цифры. Причем расчет суммы и проверка цифер, что это цифры должны делаться через функцию. Код функции для расчета суммы ямнаписала, как проверить, что введенные цифры - это цифры?
 
 var x = prompt("Введите первую цифру");
 
 var y = prompt("Введите вторую цифру");
 
 function add(x, y)
 {
 
 var answer = parseInt(x, 10) + parseInt(y, 10);
 return answer;
 
 }
 
 alert(add(x, y));
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 19:25
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	|   
var x = '5';
    alert(x == +x);
    x = '?';
    alert(x == +x);
Пожалуйста, отформатируйте свой код! 
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
 
[js]
... ваш код...
[/js]
 
О том, как вставить в сообщение исполняемый javascript и html-код , а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting . |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 20:19
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 31.03.2015 
						Сообщений: 15
					 
		
 |  |  
	| 
var x = prompt("Введите первую цифру");
var y = prompt("Введите вторую цифру");
function add(x, y)
{
var answer = parseInt(x, 10) + parseInt(y, 10);
return answer;
}
alert(add(x, y));
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 20:22
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| sana,
 
if (x != +x ) alert('не цифра')
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 20:44
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук     |  | 
					Регистрация: 31.03.2015 
						Сообщений: 113
					 
		
 |  |  
	| 
getInput=function(){
 var str
 return /\d+/.test(str=prompt("print number: ")) ?
 +str : function(){alert("incorrect input; try again, please"); return getInput()}()
}
alert(getInput()+getInput())
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 20:52
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук     |  | 
					Регистрация: 31.03.2015 
						Сообщений: 113
					 
		
 |  |  
	| рони,с любой пустой, пробельной, с табами, с переносами строк и тп, не сработает, кстати.
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 20:58
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 31.03.2015 
						Сообщений: 15
					 
		
 |  |  
	| В этом случае, если пользователь все же ввел не цифру в первом случае, то программа продолжает работать. Я попробовала  написать сама код. Но мне нужно, чтобы весь код был в function. 
Но не знаю, как это можно сделать. И вообще, мне кажется, что весь код можно написать намного короче. Подскажитк, пожалуйста, как все это можно сделать?
 
var x = 0
var i=false
 
do
{
    var x = prompt("Введите первую цифру");
 
    if (isNaN (x))
    {
        alert(x + " - это не цифра. Невозможнотвыполнить операцию.");
    }
    else if(x == "")
    {
        alert("Вы забыли ввести значение");
    }
    else if(x)
    {
        i=true;
    }
}
while (i == false);
 
var y = 0
var i=false
 
do
{
    var y = prompt("Введите вторую цифру");
 
    if (isNaN (y))
    {
        alert(y + "- это не цифра. Невозможнотвыполнить операцию.");
    }
    else if(y == "")
    {
        alert("Вы забыли ввести значение");
    }
    else if(y)
    {
        i=true;
    }
}
while (i == false);
 
function add(x, y)
{
    var answer = parseInt(x, 10) + parseInt(y, 10);
    return answer;
}
 
alert(x + "+" + y + "=" + add(x, y));
 |  |  
	| 
		
	| 
			
			 
			
				31.03.2015, 21:16
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук     |  | 
					Регистрация: 31.03.2015 
						Сообщений: 113
					 
		
 |  |  
	| 
	
 
	| Сообщение от sana |  
	| то программа продолжает работать |  
	
 продолжает работать, она просит пользователя ввести корректные данные, если он ввел их, все завершается как обычно. Это обычная практика. А Вы  что, хотели послать его на 3 буквы? 
	
 
	| Сообщение от sana |  
	| Но мне нужно, чтобы весь код был в function. |  
	
 
check=function(){alert(check.getInput()+check.getInput())}
check.getInput=function(){
 var str
 return /\d+/.test(str=prompt("print number: ")) ?
 +str : function(){alert("incorrect input; try again, please"); return check.getInput()}()
}
check()
 |  |  |  |