Máscara de Telefone
+55
export function maskPhoneBR(phone: string) { return phone .replace(/\D/g, "") .replace(/(\d{2})(\d)/, "($1) $2") .replace(/(\d{5})(\d)/, "$1-$2") .slice(0, 15);}
import React from "react";
export function maskPhoneBR(phone: string) { return phone .replace(/\D/g, "") .replace(/(\d{2})(\d)/, "($1) $2") .replace(/(\d{5})(\d)/, "$1-$2") .slice(0, 15);}
export default function App() { const [phone, setPhone] = React.useState(""); return ( <div className="App"> <input type="tel" placeholder="(XX) XXXXX-XXXX" value={phone} onChange={(e) => setPhone(maskPhoneBR(e.target.value))} /> </div> );}
Observação:
Ao utilizar máscaras, use input com o type='tel', dessa forma o input abrirá o teclado numérico em dispositivos mobile e permitirá a escrita de caracteres especiais.
A função de máscara no exemplo acima já previne que o usuário digite letras quando não for permitido.