Как изменить число внутри строки с сохранением ведущих нулей?
const add = (str, val) => str.replace(/\d+$/, m => `${+m + val}`.padStart(m.length, 0));

add('string0001',    1) // 'string0002'
add('string1010',   99) // 'string1109'
add('string2345', 6789) // 'string9134'
Если при переполнении не должно происходить увеличения количества разрядов (т.е., string99 + 1 должно быть равно string00, а не string100), то после вызова padStart добавьте .slice(-m.length).
Вручную:
s.replace(/\d+$/, str => {
  const num = String(parseInt(str) + 1);
  return '0'.repeat(Math.max(str.length - num.length, 0)) + num;
});