Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Peperaio

[Resolvido] expressão regular em javascript

Recommended Posts

Beleza galera, eu denovo!

é o seguinte, estou comecando a aprender expressoes regulares, e preciso validar um dado.

Eu preciso descobri se no final de uma string, existe isto:

 

?d=XXXXXXXX

 

Onde o X, poderia receber até 8 letras de A-Z (maiusculos) e/ou numeros

eu estou tentando assim:

 

RegExp = /$?d=[A-Z,0-9]{8}/g;
if(RegExp.test("?d=AAAAAAAA")){
	alert("ok");
}
else{
	alert("falso");
}

o firebug retorna (invalid quantifier)

onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a interrogação é um caracter especial.

 

escape ela

/$\?d=

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verdade, faltava isso.

Agora peço uma pequena ajuda com a expressão em si, ela retorna apenas falso....:(

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RegExp - Testes</title>
<script type="text/javascript">
string = "asasasas/?d=AAAAAAAA";
RegExp = /$\?d=[A-Z,0-9]{8}/g;
if(RegExp.test(string)){
	alert("ok");
}
else{
	alert("falso");
}
</script>
</head>

<body>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se as regrinhas particulares de Expressões Regulares forem similares entre JavaScript e PHP, a sua:

 

$\?d=[A-Z,0-9]{8}

Está buscando uma sequencia alfanumérica maiúscula com comprimeiro de 8 caracteres precedida de um ?d= literal depois que a string termina o.O

 

O $ é o fim. Usando-o, você indica que a ER deve ser buscada de trás para frente, a partir do final do assunto alvo. Mas no seu caso não tenm nenhum padrão antes do cifrão e sim depois dele, que é simplesmente ignorado.

 

Experimente assim:

 

\?d=[A-Z,0-9]{8}$

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se as regrinhas particulares de Expressões Regulares forem similares entre JavaScript e PHP, a sua:

 

$\?d=[A-Z,0-9]{8}

Está buscando uma sequencia alfanumérica maiúscula com comprimeiro de 8 caracteres precedida de um ?d= literal depois que a string termina o.O

 

O $ é o fim. Usando-o, você indica que a ER deve ser buscada de trás para frente, a partir do final do assunto alvo. Mas no seu caso não tenm nenhum padrão antes do cifrão e sim depois dele, que é simplesmente ignorado.

 

Experimente assim:

 

\?d=[A-Z,0-9]{8}$

 

aeh cara, po perfeito!

funcionou perfeitamente, acabou ficando assim:

RegExp = /\/\?d=[A-Z,0-9]{8}|\/\?url=[A-Z,0-9]{8}|\/\?go=[A-Z,0-9]{8}$/;

 

valeu também William!

resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.