<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