Existe ocasiões em que queremos
verificar se um determinado padrão se encontra no inicio,
meio ou final de uma string. Por exemplo, uma URL válida
deve começar com "http://www" ou "http://".
Outra situação é quando queremos verificar
se um determinado endereço de e-mail termina com ".com.br".
Analise cuidadosamente a tabela abaixo antes de escrevermos
alguns exemplos:
| Símbolo |
Descrição |
Exemplo |
| ^ |
Encontra somente no início
da string |
/^The/ encontra "The"
in "The night" mas não encontra em "In
The Night" |
| $ |
Encontra somente no final da string. |
/and$/ encontra "and" em "Land"
mas não encontra em "landing" |
| \b |
Encontra nos extremos de uma palavra (os
caracteres de teste devem existir no início ou
fim de uma palavra pertencente à string). |
/ly\b/ encontra "ly" em "This
is really cool." |
\B |
Encontra no meio de uma palavra da string, ou seja,
o inverso de \b. |
/\Bor/ encontra "or" em "normal"
mas não encontra em "origami." |
Esta tabela nos informa que o símbolo ^ é usado
para pesquisar um padrão no inicio de uma string. Assim,
vamos escrever um exemplo de como verificar se uma URL informada
começa com "http://". Veja o código:
<script type="text/JavaScript"
language="JavaScript">
var pesquisa = /^http:\/\//;
var url = "http://www.recomende.com";
if(url.match(pesquisa))
alert("A URL começa com
http://");
else
alert("A URL não começa
com http://");
</script>
Outro trecho de código que merece muita atenção.
A primeira coisa a ser observada é o uso da barra invertida
como caractere de escape "\". Isso foi necessário
porque queríamos incluir as duas barras "//"
depois do "http:" na pesquisa. Sem a barra invertida
isso não seria possível. Observe agora o símbolo
^ antes do padrão da pesquisa: var
pesquisa = /^http:\/\//;
Esta pesquisa só trará um resultado satisfatório
se o padrão for encontrado exatamente no inicio da string
sendo pesquisada. Veja as linhas em que o teste é feito:
if(url.match(pesquisa))
alert("A URL começa com http://");
else
alert("A URL não começa com http://");
Veja que agora estamos usando o método match
do objeto String. Nunca use o método search
quando quiser pesquisar padrões no inicio, meio ou fim
de uma string.
Vamos escrever um exemplo que verifica se um endereço
de e-mail termina com ".br". Veja o código:
<script type="text/JavaScript"
language="JavaScript">
var pesquisa = /.br$/;
var email = "testando@uol.com.br";
if(email.match(pesquisa))
alert("O endereço de e-mail
termina com .br");
else
alert("O endereço de e-mail
não termina com .br");
</script>
Observe o padrão a ser pesquisado: var
pesquisa = /.br$/;
O símbolo "$" especifica que este padrão
deve, obrigatoriamente, ser encontrado no final da string. Quer
ver como isso realmente funciona? Acrescente um espaço
no final do endereço de e-mail. Assim: var
email = "testando@uol.com.br ";
Execute o código novamente e verá que agora uma
mensagem nos informa de que o endereço de e-mail não
termina com ".br". |