1 / 1 / 0
Регистрация: 04.09.2012
Сообщений: 94

Строковый калькулятор на JavaScript

05.06.2013, 16:56. Показов 4270. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как можно реализовать подобное?

Есть два поля, в первое мы вводим арифметическое выражение, например: "5-(2*7)+8", а во втором по мере набора символов появляется ответ (т.е. в реальном времени).
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2013, 16:56
Ответы с готовыми решениями:

Строковый калькулятор на JavaScript
Доброго времени суток дорогие обитатели кибер-пространства, взываю вас к помощи юному падавану. Короче суть: - Калькулятор, на 4 строки и...

калькулятор на javaScript
помогите, пожалуйста, найти ошибку. как сделать так, чтобы результат выводился в новом окне по onchange для выпадающего списка со...

Калькулятор в Javascript
Никак не понял этот код <html> <head> <title>WOweb.ru - Scripts - JavaScript - Windows Calculator</title> <META...

2
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
05.06.2013, 17:35
Цитата Сообщение от Mirazhana Посмотреть сообщение
по мере набора символов появляется ответ
При событии onkeyup, вызванного первым полем, проверяется
  • Какая кнопка нажата (т. е. что введена цифра, а не буква или нажата какая-то другая кнопка).
  • Арифметическое выражение в поле (с помощью регулярок проще всего наверное).
    • Правильность расстановки скобок. Если есть открывающая скобка - проверяется наличие закрывающей.
    • Правильность расстановки слагаемых.
Если все ок, выражение считается и результат передается во второе поле.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.06.2013, 16:40
Лучший ответ Сообщение было отмечено Mirazhana как решение

Решение

Можно влоб eval'ом. Только предварительно проверить строку на отсутствие недопустимых символов.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function calc(str){
    if (/^[-+()*\/0-9\s]+$/.test(str)) {
        try {
            alert(eval(str));
        }
        catch (e) {
            alert("Ошибка синтаксиса: " + e.message);
        };
    }
    else {
        alert('Допустимы только цифры, «+», «-», «*», «/», «(» и «)».');
    };
};
 
calc("5-(2*7)+8");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2013, 16:40
Помогаю со студенческими работами здесь

Калькулятор на javascript
Добрый день всем! Перейду сразу к вопросу: нужно помочь, пожалуйста, с созданием калькулятора о стоимости проживании в том или ином городе....

простой калькулятор javascript
все варианты перепробовал результат не выводит. <html> <head> <script type="text/javascript"> function...

калькулятор хостинга на javascript
подскажите как сделать калькулятор для расчета хостинга, вот как здесь http://www.310.ru/webhosting.php, только у них как-то неправильно...

Калькулятор цен на JavaScript
Всем привет, мне нужно на своём сайте сделать калькулятор цен. Задача такая: Нужно сделать вертикальный список с наименованием...

Найти ошибку. JavaScript. Калькулятор
<html> <head> <script type=text/javascript> function arif() { a=formatif.arg.value; b=eval(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru