<form name="cadastro1"> CPF: <input type="text" name="cpf" pattern="\d{3}\.\d{3}\.\d{3}-\d{2}"> <input type="submit"> </form> |
Sem atributo titleAo digitar um CPF inválido como "abc", o input deve ficar com fundo e letra vermelhos. Ao tentar enviar o CPF inválido:
|
<form name="cadastro2"> CPF: <input type="text" name="cpf" pattern="\d{3}\.\d{3}\.\d{3}-\d{2}" title="Digite o CPF no formato nnn.nnn.nnn-nn"> <input type="submit"> </form> |
Com atributo titleAo digitar um CPF inválido como "abc", o input deve ficar com fundo e letra vermelhos. Ao tentar enviar o CPF inválido:
|
<form name="cadastro3" onsubmit="return valida()"> CPF: <input type="text" name="cpf" pattern="\d{3}\.\d{3}\.\d{3}-\d{2}" title="Digite o CPF no formato nnn.nnn.nnn-nn"> <input type="submit"> </form> <script> function valida() { if (document.cadastro3.cpf.validity.patternMismatch) { alert("O CPF está incorreto"); } else { alert("O CPF está correto"); } return false; } </script> |
JavaScript: validity.patternMismatchAo digitar um CPF inválido como "abc", o input deve ficar com fundo e letra vermelhos. Ao tentar enviar o CPF inválido, há dois comportamentos, não sei qual é o correto: Chrome, Firefox:
Safari, Opera:
|
<form name="cadastro4"> CPF: <input type="text" name="cpf" pattern="\d{3}\.\d{3}\.\d{3}-\d{2}" title="Digite o CPF no formato nnn.nnn.nnn-nn" oninvalid="return cpf_incorreto(this);"> <input type="submit"> </form> <script> function cpf_incorreto(el) { alert("O valor " + el.value + " não é um CPF"); return false; } </script> |
JavaScript: Evento onvalidAo digitar um CPF inválido como "abc", o input deve ficar com fundo e letra vermelhos. Ao tentar enviar o CPF inválido:
|
Estes testes complementam o conteúdo do livro Expressões Regulares - Uma abordagem divertida, de Aurelio Jargas.
← Voltar para a referência sobre expressões regulares em HTML5