Как убрать одинарные кавычки из значения скрытого поля в JavaScript

Проблема с одинарными кавычками в скрытом поле

Привет всем! У меня возникла проблема при работе с JavaScript. Когда я читаю данные из скрытого поля формы, получаю значение в одинарных кавычках, например ‘45821’. Мне нужно получить чистое число без кавычек - просто 45821.

const hiddenInput = document.getElementById('secretValue');
const currentData = hiddenInput.value;
console.log(currentData); // показывает '45821'
// Как получить просто 45821?

Пробовал разные способы, но пока не получается правильно очистить строку. Может кто-то сталкивался с похожей задачей? Буду благодарен за любые советы!

У меня была похожая ситуация - скорее всего, кавычки записались прямо в атрибут value в HTML. Проверь исходный код страницы, там наверняка что-то типа <input value="'45821'">. Самый простой способ - использовать currentData.slice(1, -1), если точно знаешь, что кавычки только по краям. Ну или через JSON.parse(currentData), если это валидная JSON строка. После очистки не забудь через +currentData или Number(currentData) в число преобразовать.

А ты случайно не работаешь с данными, которые приходят через AJAX или из какого-то API? Иногда сервер может возвращать уже “обернутые” в кавычки значения. Попробуй вывести typeof currentData в консоль - если это string, то точно где-то кавычки лишние добавляются. Какой именно тип данных показывает?

Странно, что у тебя кавычки появляются в значении поля. Обычно в javascript когда мы получаем value из input, то кавычки автоматически не добавляются. Возможно проблема в том, что данные в само поле попадают уже с кавычками? Попробуй сначала проверить что именно лежит в атрибуте value в html. Если там действительно лежит строка с кавычками, то можно использовать replace() метод: currentData.replace(/'/g, '') - это удалит все одинарные кавычки из строки. А потом уже преобразовать в число через parseInt() или Number().