А зачем, если replace(/\D+/g,
"") на все сезоны?
Вообще, сезон, это квартал, всего их 4, а значит для "компьютерного зрения" удобнее использовать число как идентификатор сезона, в отличие от "зрения человека". Сначала нужно определить время года, вот так:
let season = Math.floor((new Date().getMonth()+1) / 3) % 4;
В зависимости от сезона будет возвращено от 0 = зима до 3 = осень, соответственно. Можно определить соответствие индексных значений времен года с текстовыми через массив. А вот что тут изменяется не понятно.
Вообще не понятно с чего вдруг такое понадобилось. Цены хранят в базе, базу же обслуживает так же язык, который может извлечь сразу, по запросу, цену соответствующего сезона. Если выгребать из базы все кучей, то это плохо. А еще более рационально, это, не должно быть никаких price
v, price
l и т.д. Цена она и в Африке цена, одна и единственная, которая может понижаться/повышаться в зависимости от сезона, иметь скидки по акциям/условиям и т.д., и т.п. Сервер и отдает клиенту все в этой базовой цене, плюс массив поправок цены по сезону:
let price_seasons = [1.5, 1.0, 0.8, 1.2];
Клиент извлекает поправку price_seasons[season], на которую изменяет значения полей. Это куда сподручнее для него, чем маяться с replace. Если сервер знает часовой пояс клиента или разница во времени в несколько часов не важна, то получить цены сезона можно сразу из базы.
А если это не так, база имеет избыточное, лишнее, то можно сказать с уверенностью на все 100% - чтобы не делалось, дальше будет все хуже и хуже, затраты на обработку данных будут все возрастать и возрастать, и клиента будут напрягать пустой и никчемной работой.