Exercícios sobre expressões regulares em Javascript
INF 533     1º Sem 2009

 


Atualizado em 08-mai-09
-->

A validação dos campos do formulário a seguir deverá ser feita via expressões regulares. Em caso de erro ( ou de acerto, para fins de depuração ) uma janela popup deverá avisar ao usuário.

Projete e valide um formulário contendo:

  1. um campo de entrada para um nome próprio em Português podendo conter quaisquer letras acentuadas ou não, brancos e opcionalmente um ponto decimal (por exemplo, para aceitar "Jr.")
    Veja aqui uma tabela com o conjunto de caracteres segundo o padrão ISO 8859-1 que inclui o conjunto ASCII e os caracteres acentuados das línguas ocidentais (Português, inclusive).

  2. um campo de entrada para uma data de nascimento com um dos seguintes formatos: dd/mm/aaaa, dd-mm-aaaa ou dd mm aaaa
    Os campos dd mm e aaaa devem estar contidos nos seguintes intervalos:
    • dd: 01-31
    • mm: 01-12
    • aaaa: 1900-1999
    V. deve rejeitar dias no intervalo 32-99 e meses no intervalo 13-99. Não é necessário verificar, porém, a compatibilidade de dias com meses

  3. um campo de entrada para um número de telefone com um dos seguintes formatos: (dd)dddd-dddd ou (dd)dddd dddd, onde d é um dígito de 0 a 9, os parênteses são opcionais porém, se forem usados, ambos devem ser colocados o "(" e o ")" e um espaço opcional após o código de área é permitido, por exemplo: 19 1234 5678 ou (19) 1234-5678
Sugestões:
  1. utilize um botão submit e o evento onSubmit para invocar a função que valida o formulário.
  2. ao usar o operador "|" ("ou") envolva entre parênteses os dois membros da operação; exemplo: (ab|cd)efg
  3. o operador \n reproduz o conteúdo da enésima expressão entre parênteses contada da esquerda para a direita a partir de 1; exemplo: (abc)def([-/ ])ghk\2pqr