Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
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: 103
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 Zend Framework
Entendendo e usando a classe Zend_Date do Zend Framework
Como usar o Zend_Date para verificar se um determinado ano é bissexto
Obtendo o dia do mês com dois dígitos
Veja dicas, truques e anotações de outras linguagens
C++ - Como alocar memória dinâmica para matrizes em C++
PHP - Exibir a data completa no formato curto
Perl - Como usar arrays (matrizes) em Perl
Java - Convertendo de octal para decimal
Java - Como usar objetos da classe JCheckBoxMenuItem como itens de menu
Java - Como inserir nós no início de uma lista singularmente ligada em Java
VB.NET - Subtraindo dias da data atual
C# (CSharp) - Como selecionar todos os itens de uma ListBox de uma só vez
JSP (Java Server Pages) - Atribuindo valores às propriedades de um JavaBean usando a action <jsp:setProperty>
Java - Como aceitar somente inteiros em determinadas células de uma JTable

       

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