Как я могу удалить все не 10-значные числа из строки и добавить 1 к передней части, если она еще не существует?

Вот код регулярного выражения, который я имею:

phoneNumber.replace(/[^0-9.,]/g, ''); phoneNumber = ' 1'   phoneNumber; 

но это не сработает, если phoneNumber уже имеет 1 . Как я могу сделать так, чтобы регулярное выражение сначала удаляло все нечисловые значения и добавляло префикс 1?

Вы хотите проверить наличие дополнительного 1 впереди.

 " 167t6if6".replace(/( 1)?[^0-9.,]./g, ''); phoneNumber = ' 1'   phoneNumber; 

Это будет соответствовать нулю или одному вхождению 1, и любому количеству не цифр.

( 1)? Это проверяет дополнительный 1

Период в конце соответствует любому количеству нецифровых совпадений — это в том случае, если после 1 нет никаких цифр.