Допустим, мне нужно, чтобы пользователь ввел двоичное или шестнадцатеричное значение, и программа получит его оттуда.Есть ли способ определить, является ли введенное ими значение двоичным или шестнадцатеричным?
Я подумал, что выяснил это, проверив, содержит ли строка буквы или цифры выше 1, но как насчет в случае 101101 или другогоаналогичные шестнадцатеричные входы?Можно ли вообще узнать без какого-либо другого контекста?
Ради включения неудачных попыток я попробовал следующее, чтобы проверить, содержит ли строка буквы, шестнадцатеричные значения которых могут:
if (Number.isInteger(parseInt(input)))
, нокроме того, что это не решает вышеупомянутую проблему (так как шестнадцатеричные значения не всегда имеют буквы), он также завершается ошибкой, потому что он все еще возвращает true, когда буквы смешиваются во входных данных, поскольку он все равно анализирует целое число тем или иным способом.