Desenvolvimento - Javascript
Expressões Regulares - continuação
No exemplo do artigo crio um script que me permite somar as letras e o valor numérico de cada letra sendo somadas e visualizado em um total, ex: ABC =>1+2+3 = 6.
por Manoel M. Alves S. JrOlá pessoal, após superados obstáculos, vamos continuar falando sobre Expressões Regulares.
Conceitualmente falando, Expressões Regulares, são padrões, ou podemos chamar de regras
que definem uma linguagem aceita por um automato finito, isso é muito abstrato e muito chato
de digerir, mas seria mais ou menos assim: uma expressão regular (em javascript ) é usada para
combinar cadeias de caracteres, executar buscas e alterar essas cadeias, por exemplo, se vc quiser
contar quantas palavras existem nesse artigo, quantos espaços em branco, quantas vogais, quantas
consoantes, quantas letras maiúsculas, (a lista continuaria se não fosse o limite de espaço), isso
dá uma boa idéia de o que se pode fazer com ER, se tiveres uma mente criativa, eis aí uma ferramenta para suas aplicações web, aplicações desktop, etc.
Vamos a mais um exemplo prático, no exemplo abaixo crio um script que me permite somar as letras e o valor numérico de cada letra sendo somadas e visualizado em um total, ex: ABC =>1+2+3 = 6. Os numerólogos que vão gostar desse script, :D
<script language="javaScript"> <!--Autor: Manoel Messias Alves S. Junior 26/08/2004 //Todos os direitos reservados function calculas(str){//define a funcão que recebe a string do inputText padrao = /\s*/; //define um padrão para pegar qualquer espaço em branco text = new String(str); //intancia uma variavel do tipo String text = text.toLowerCase();//passa para minuscula os caracter[a-z] palavras = new Array(); //cria um array palavras = text.split(padrao);//ex:"M anoe l".split(padrao)=>"M,a,n,o,e,l" var soma = 0; var qtde_carac = 0; if(palavras[0]){//caso vc digitou algo no inputText retorna true qtde_carac = palavras.length;//conta a qtde de caracteres da string alfa = new String("abcdefghijklmnopqrstuvwxyz"); for(i=0; i<palavras.length; i++){ if(alfa.indexOf(palavras[i]) != -1){//caso seja um char [a-z] soma += alfa.indexOf(palavras[i])+1; //A = 1, B= 2.... } } form1.soma.value = soma;//seta o valor no input soma form1.qtde.value = qtde_carac; //idem no input qtde }else{ form1.soma.value = soma;//seta o valor no input soma form1.qtde.value = qtde_carac;//idem no input qtde } } //--> </script> </head> <body> <form name="form1"> <strong>Digite uma frase</strong> <input type="text" name="texto" /> <button onclick="calculas(form1.texto.value)">Testar</button> <br /><br /><strong>Quantidade de Caracteres</strong> <input name="qtde" type="text"/> <strong>Soma</strong> <input name="soma" type="text"/> </form> </body>
Bem pessoal o exemplo acima deixei comentado e acredito que dispensa maiores comentários a respeito das expressões, espero que vocês tenham gostado.
Um grande abraço e até o proximo artigo!
Manoel M. Alves S. Junior
- Como bloquear o botão CTRL e impedir impressão de página com JavascriptJavascript
- Principais Frameworks de JavascriptJavascript
- Conhecendo o HTML5 Notifications APIJavascript
- Como inverter links ou textos com JavascriptJavascript
- Criando um jogo da velha em DHTML (HTML+Javascript) com jvGameJavascript