Как сделать регулярное выражение для положительных и отрицательных чисел?
Регулярка тут не нужна и вредна. Почему бы просто не конвертировать в число и проверять, что в диапазоне?

document.querySelector('input').addEventListener('input', e => {
  const { value } = e.target;
  const num = Number(value);
  const isValid = !isNaN(num) &&
    num <= 60 &&
    num >= -60;

  // что-то делаем с валидным / невалидным
  if (isValid) {
    // мы молодцы, сирену можно выключить
  } else {
    // включаем мигалку и сирены, подсвечиваем красным
  }
});
Вариант решения:
/^-?\d+\.?\d*$/

Расшифровка:
^ - начало строки
-? - символ "минус" ноль или один раз
\d+ - цифры, минимум одна штука
\.? - символ точки ноль или один раз
\d* - снова цифры, но в этот раз минимум ноль раз
$ - конец строки

Без символов ^$ регексп будет матчиться с подстрокой, например он сработает на строку "123abc"