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. Jr



Olá 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

Manoel M. Alves S. Jr

Manoel M. Alves S. Jr - Trabalho com aplicações para web. Atualmente cria aplicações em java para uma das maiores indústrias de produção de áçucar e alcool do Brasil.