Expressão Regular no JavaScrit

Agosto 23, 2007 on 11:58 am | In Trabalho, JavaScript, Tutorial |

Como muita gente não conhece e nem nunca ouviu falar de Expressão Regular ou ER ou até mesmo Regex, vou escrever o que é e como utilizar no JavaScript.

O que é ?

É um conjunto de caracteres que forma uma expressão para testar uma entrada ou saída de dados, ah? É quando você tem um conjunto de caracteres que criam uma regra, que testa se o dados casa com essa expressão. Otimo, mas você ja faz isso quando faz uma busca, porém a ER lhe da mais flexibilidade além de ser padrão ou quase para um monte de linguagens. Por exemplo para validar um CPF, podemos em vez de desmembrar e testar para ver se faz parte de uma máscara, podemos utilizar o Regex.

Como utilizar?

Para utilizar no JavaScript vamos a um caso clássico de validação o do CPF, no caso a expressão eu retirei do blog fechaTag, caso queira criar a sua própria ER veja o Guia.
Para validar o CPF faremos:

JAVASCRIPT:
  1. var er_cpf; // Declaramos a variavel
  2. //Colocamos a ER na variavel, preste atenção que na ER no JavaScript usamos / ER /
  3. // Não esqueça das /
  4. er_cpf = /([0-9]{3}\.?){3}-[0-9]{2}/;
  5. // A função abaixo testa a ER e o DADO.
  6. var r = er_cpf.exec(form1.documentoA.value);

Basta agora testarmos a variável r, para testar se o dado casa com nossa expressão regular. Lembre-se se o dado 'casar' quer dizer que ele (o valor) é aquilo que esperamos dentro da expressão, digo o CPF é válido.

JAVASCRIPT:
  1. if(r == null){
  2. alert('CPF não é valido, ele deve conter . como separador!');
  3. form1.documentoA.focus();
  4. return false;
  5. }

Pronto agora você aprendeu um pouco sobre como validar usando Expressão Regular em JavaScript. Dúvidas é só comentar.


3 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Passei por aqui, to te dando um "Oi"
    bjokas. te amo

    Comment by Ju — Agosto 24, 2007 #

  2. Salve, Rafael!

    Um preciosismo bobo: é bom testar os extremos de sua expressão regular. Do jeito que ela está, vai dar como válida a seguinte string:

    "qualquer coisa 123.456.789-00 qualquer coisa"

    E também:

    "qualquer coisa 999123.456.789-00999 qualquer coisa"

    Se você quiser que a primeira string valide e a segunda não (ou seja, testar se a string contém um CPF, não se é um CPF) pode usar:

    /\b([0-9]{3}\.?){3}-[0-9]{2}\b/

    Já se quiser que nenhuma valide (ou seja, testar se a string inteira é um CPF) pode usar:

    /^([0-9]{3}\.?){3}-[0-9]{2}$/

    Comment by Elcio — Setembro 17, 2007 #

  3. o java é para mim muito falado em todo mundo por isso o meu muito interesse em aderir

    Comment by francisco — Junho 28, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


 

 Assine o feed