Arquivo de Códigos - Página Inicial
Códigos-fonte
» Boletos Bancários
» Calendário de Eventos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 21
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> JavaScript
Expressões Regulares em JavaScript :: Alternativas e agrupamento de padrões
Haverá ocasiões em que suas expressões regulares exigirão construções especiais a fim de alcançar um determinado resultado. Duas destas construções são o agrupamento e alternativas de padrões. Veja a tabela seguinte antes de escrevermos alguns exemplos:

Símbolo
Descrição
Exemplo
( )
Agrupa caracteres para criar uma cláusula. Pode ser aninhado. /(abc)+(def)/ encontra uma ou mais ocorrências de "abc" seguida(s) por uma ocorrência de "def".
|
Oferece alternativa para o padrão. É similar a uma instrução "OU".
/(ab)|(cd)|(ef)/ encontra "ab" ou "cd" ou "ef".

A tabela acima nos mostra que é possível usar parênteses para agrupar caracteres e criar uma clausula. Veja novamente o trecho de código que escrevemos para verificar se um número de CPF era válido:

var pesquisa = /^\d{3}.\d{3}.\d{3}-\d{2}$/;

Veja que temos dois grupos idênticos repetidos:

\d{3}.\d{3}.

Ora, veja um versão usando parênteses para agrupar estes dois grupos:

(\d{3}.){2}

Veja que bastou colocar o grupo entre parênteses e especificar quantas vezes ele deveria ocorrer. O padrão completo ficaria assim:

var pesquisa = /^(\d{3}.){2}\d{3}-\d{2}$/;


Agora, suponhamos que você tenha que validar uma string no formato XXX.XXX.XXX.XXX, onde o X representa uma letra do alfabeto maiúsculo. A melhor forma é usar:

var pesquisa = /^([A-Z]{3}.){3}[A-Z]{3}$/;

Veja como usamos os parênteses para especificar que um caractere de A à Z deveria aparecer três vezes:

[A-Z]{3}

e ser seguido por um ponto:

[A-Z]{3}.

Em seguida, este grupo deve aparecer três vezes:

([A-Z]{3}.){3}


Para finalizar, o símbolo $ indica que a string deve terminar com três caracteres de A à Z:

[A-Z]{3}$

Simples demais. Vamos ver agora como fornecer alternativas de padrões. Suponhamos que você desenvolveu um sistema que aceita URLs nos formatos "http://www.recomende.com", "http://recomende.com" ou "www.recomende.com". Tal expressão poderia ser escrita assim:

var pesquisa = /^(http:\/\/www.)|(http:\/\/)|(www.)/;

Veja como usamos a barra "|" para oferecer alternativas ao padrão. Veja o exemplo completo:

<script type="text/JavaScript" language="JavaScript">
  var pesquisa = /^(http:\/\/www.)|(http:\/\/)|(www.)/;

  var URL = "http://www.recomende.com";

  if(URL.match(pesquisa))
    alert("A URL é válida");
  else
    alert("A URL não é válida");
</script>
Este tutorial contém as seguintes seções:
  1. Introdução
  2. Entendendo as expressões regulares
  3. Usando o objeto global RegExp
  4. Primeiros passos na autoria de expressões regulares
  5. Os sinalizadores global e de não-distinção entre maiúsculas e minúsculas
  6. Uso de caracteres literais
  7. Definição de posições dos itens da pesquisa
  8. Classes de caracteres
  9. Padrões de repetições em expressões regulares
  10. Alternativas e agrupamento de padrões
  11. Como remover espaços duplicados de uma string usando expressões regulares
  12. Implementando uma função trim usando expressões regulares
  13. Uso de expressões regulares para transformar em maiúsculas as primeiras letras de cada palavra em uma string
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de VB.NET
Como remover (retirar) todos os espaços de uma string
Concatenando strings usando o método Concat
Verificando se uma variável do tipo string ainda é null ou vazia
Usando a instrução Select...Case
Aprenda a usar o laço For...Next do VB.NET
Obtendo o dia da semana no formato longo: domingo, segunda-feira, etc
Como comparar strings usando o método Compare da classe String
Somando todos os valores dos elementos de um array de inteiros
Verificando se uma substring está contida em uma string
Como usar a instrução Exit para abandonar a execução de um laço em VB.NET
Veja dicas, truques e anotações de outras linguagens
PHP - Entendendo o tipo de dados object do PHP
C# (CSharp) - Como transformar em letras maiúsculas as iniciais de cada palavra em uma string
Java - Como exibir uma JFrame maximizada ao iniciar o aplicativo
Delphi - Remover espaços à esquerda e à direita de uma string
JavaFX - Restaurando uma janela Frame ao clicar em um botão
Delphi - Constantes úteis para o cálculo de datas e horas
Java - Definir uma imagem de fundo (marca d`agua) para um JTextArea
JSP (Java Server Pages) - O que são Tag Libraries (Blibliotecas de Tags)?
ActionScript - Copiando parte de um array para outro
Java - Verificando se uma string está toda em letras maiúsculas ou minúsculas


http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site