Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2015, 17:59
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

Альтернатива eval()
В input вводится строка типа ((22-8)*2)/4 и нужно вычислить её результат. Использовал eval(), но метод неудовлетворителен и нужна альтернатива.
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2015, 18:49
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Если боишься, что кто-нибудь впишет в поле скрипт, то просто фильтруй данные.

http://learn.javascript.ru/play/koD4sb

<!DOCTYPE HTML>
<html>
  <head></head>
  <body>
    <input id="myInput" type="text">
    <input id="myButton" type="button" value="Вычислить">

    <script type="text/javascript">
      	myInput.oninput = function() {
    		this.value = this.value.replace(/[^\d()*\/+-]+/g, '');
		};

		myButton.onclick = function() {
          	var result;
          	try {
            	result = eval(myInput.value);
          	}
          	catch(e) {
            	result = 'Неконкретный пример';
          	}
          	alert(result);
		};
    </script>

  </body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2015, 20:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Satansoft
нужна альтернатива
Переводи в польскую запись, потом вычисляй...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятное(для меня) поведение eval FanAizu Общие вопросы Javascript 1 06.05.2014 19:43
Обработка json tion Общие вопросы Javascript 15 12.05.2013 18:39
Как вызвать eval в контексте другой функции для доступа к ее локальным переменным? Почемучкин Общие вопросы Javascript 8 29.10.2012 22:31
Не работает eval в IE ..::Silence::.. Общие вопросы Javascript 8 25.03.2009 13:16
Roll-up menu Tanya Общие вопросы Javascript 5 29.08.2008 17:28