JavaScript

Как в JavaScript проверить правильность введенного символа?

Дано два числа x, y и знак арифметической операции (+, -*, /). Найти x+y, x-y, x*y, x/y, в зависимости от введенного знака. В случае ошибки в знаке или деления на 0 вывести сообщение об ошибке.
---------------------------------------------
Как проверить, что знак ввели неверно?
const number = (msg) => {
let num;
do {
num = Number.parseFloat(prompt(msg));
} while (Number.isNaN(num));
return num;
};

const operator = (msg) => {
let opr, flag;
flag = false;
do {
if (flag) {
alert("Ошибка: неверный знак операции.")
}
opr = prompt(msg);
flag = true;
} while (!/\+|\-|\*|\//.test(opr) || opr.length > 1);
return opr;
};

const calc = () => {
let a, b, s, r;
do {
a = number("Введите первое число");
b = number("Введите второе число");
s = operator("Введите знак операции");
switch (s) {
case '+': r = a + b; break;
case '-': r = a - b; break;
case '*': r = a * b; break;
case '/': r = (b !== 0) ? a / b : "деление на ноль."; break;
}
alert(a + " " + s + " " + b + " = " + r);
} while (confirm("Продолжить?"));
};

calc();
Ivan Mayskyi
Ivan Mayskyi
85 903
Лучший ответ
ну так выстави условие, что если не соответствует любому из 4 знаков, то ошибка
или если имеется деление на 0, то тоже ошибка.
Юра Тетерин На 0 - сделал!

А как сделать с перечислением ? (пример можно?, не знаю как правильно написать перечисление всех знаков в одну строчку.)
вот еще простой вариант

var X1 = Number( prompt("Введите значение X=" , '' ) ) || 0 ;
var Y1 = Number( prompt("Введите значение Y=" , '' ) ) || 0 ;
var XY = prompt("Введите знак арифметической операции: +, -/, * " );

if( XY.search( RegExp( "[+-/*]" , 'g') ) == -1 ){ /* поиск по регулярке */
alert( "ошибка - арифмитический знак НЕ УКАЗАН" );
}
else{
XY = XY.trim()[0]; // удаление пробелов и берем только 1 символ

if( Y1 == 0 && XY == '/' ){
alert( X1+ XY +Y1 + " - делить на ноль нельзя" );
}
else{
var Z = eval( X1 + XY + Y1 );
alert( X1+ XY +Y1 +'=' + Z );
}
}
Игорёк Ефимцов
Игорёк Ефимцов
16 208
че вы все здесь такие сложные? замени все if() {} на switch() {}, для чего столько мороки с if ???