Esta é a última parte
do tutorial e apresenta um código que faria muitos webmasters
desistir da profissão. Se você leu as partes anteriores
com muita atenção isso não acontecerá
com você.
A proposta da expressão regular que escreveremos é
transformar em letras maiúsculas as iniciais de cada
palavra de uma string. À primeira vista pode parecer
complicado. Mas, veja o trecho de código a seguir:
<script type="text/JavaScript"
language="JavaScript">
var frase = "programar em javascript e java
é bom demais.";
frase = frase.replace(/(^[^0-9])|(\s[^0-9])/g,
function(str,
p1, p2, offset, s){
return
str.toUpperCase();
}
)
alert(frase);
</script>
Comece analisando a frase que será transformada:
var frase = "programar
em javascript e java é bom demais.";
Ao final da execução do código o resultado
será: Programar
Em Javascript E Java É Bom Demais.
O primeiro passo é perceber que agora nós
temos uma função como segundo parâmetro
para a função replace. Esta função
é chamada todas as vezes que o padrão da expressão
regular for encontrado na string que estamos analisando.
O primeiro trecho da expressão substitui o primeiro caractere
da frase: (^[^0-9])
Observe o uso do símbolo de negação ^ dentro
dos colchetes "[ ]". Ao excluir apenas os dígitos
estamos nos certificando que o código será capaz
de trabalhar com caracteres acentuados também. Assim,
quando o primeiro caractere da frase é encontrado nós
temos uma chamada à função. Tudo que temos
a fazer é obter o caractere no argumento str
e retorná-lo em letra maiúscula: return
str.toUpperCase();
Para verificar os demais caracteres nós testamos aqueles
que são precedidos de um espaço e que não
sejam dígitos: (\s[^0-9])
Simples, não? Hora de estudar. Bom desenvolvimento. |