fixed code v3
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
/**
|
||||
* Форматирует строку в маску +7 (___) ___-__-__.
|
||||
* Принимает любой ввод — чистит всё кроме цифр.
|
||||
* Поддерживает ввод с "7" или "8" в начале (стандартный
|
||||
* российский формат телефонного номера).
|
||||
*
|
||||
* @param {string} val — сырое значение из input
|
||||
* @returns {string} — отформатированная строка
|
||||
*/
|
||||
export function formatPhone(val) {
|
||||
const digits = val.replace(/\D/g, "");
|
||||
const local = digits.startsWith("7") ? digits.slice(1) : digits;
|
||||
const local = digits.startsWith("7") || digits.startsWith("8")
|
||||
? digits.slice(1)
|
||||
: digits;
|
||||
let result = "+7";
|
||||
if (local.length > 0) result += " (" + local.slice(0, 3);
|
||||
if (local.length >= 3) result += ") " + local.slice(3, 6);
|
||||
if (local.length >= 6) result += "-" + local.slice(6, 8);
|
||||
if (local.length >= 8) result += "-" + local.slice(8, 10);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user