Ir para conteúdo

POWERED BY:

Arquivado

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

First

Trocar letras por *

Recommended Posts

Olá, Boa Tarde!

 

Bom, eu queria trocar algumas letras por *;

 

Exemplo: Eu tenho um e-mail e queria ocultar as letras deixando visível apenas a primeira e a última letra do e-mail...

 

seunome@dominio.com

 

ai eu queria deixar desse jeito

 

s*****e@dominio.com

 

Já procurei no google e no busca do iMasters mais não encontrei nada, alguém pode me ajudar dando explicações de como consigo tal efeito? Usando JavaScript porque não posso usar PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá First, blza!

 

Nunca usei isso com JavaScript, mas se você usar Replace, será que te ajuda?

 

https://msdn.microsoft.com/pt-br/library/ie/t0kbytzc(v=vs.94).aspx ( Veja nos exemplos )

 

 

Espero ter ajudado,

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

De um jeito bem simples e sem otimização ou validação:

http://jsfiddle.net/vn8em5v2/1/


Digite o email no primeiro input e tire o foco dele para ver o email 'mascarado'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal Rafael,

 

Mais um para minha coleção.

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Me desculpa-me mais eu demoro um pouco para entender as funções dos códigos.

Mas só que eu não posso criar uma mascara porque o serviço que hospedagem é grátis e faz o seu próprio registro deixando para que eu não vejo os bancos de dados e que possa modicar o PHP.

 

Então como eu posso obter o efeito? tem alguma maneira de exemplo:

O código é exportado para área de /profile dessa maneira

<dd><input type="hidden" name="email" value="seunome@dominio.com">seunome@dominio.com</dd>

Então eu teria que esconder o e-mail que está no input e dentro do dd

 

 

Há como?

 

 

Alguém pode me ajudar por favor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a sua dúvida com as sugestões dos colegas ?

vc tentou aplicar elas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Bruno,

 

Bom, vamos lá...

Como pode ver eu quero ocultar no /profile e eu não tenho acesso para criar uma mascara como o nosso amigo Rafael disse logo acima. O código do profile sai com este HTML:

<dd><input type="hidden" name="email" value="seunome@dominio.com">seunome@dominio.com</dd>

Então ao caso ele aparece o'que está dentro do dd, e eu não entendi o código já pesquisei e busquei mais pesquisa mais não consigo entender o código do nosso amigo. Qual parte do código dele faz ocultar o nome do e-mail e aparecer somente a primeira e a ultima antes do @ ? E também o código dele deu um erro. O'Que devo fazer agora? Me ajuda ai por favor.

1hoI6nt.png

 

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica que faz a substituição está dentro do onchange. Se você simplesmente copiar+colar meu código não vai funcionar mesmo pois ele é apenas um exemplo, afinal, você pediu explicações de como conseguir tal efeito (ok, eu não expliquei, simplesmente postei um código, então, vou explicar agora)

O que estou fazendo é pegar a string que possui o email e, utilizando algumas funções de String, pego o primeiro caractere, os caracteres a partir do anterior ao @, conto a quantidade de letras entre eles e as substituo por * e, ao final, concateno tudo em uma nova string.

No seu caso, parece que o html já vem pronto, então, simplesmente execute o código que está dentro do onchange substituindo os this e doc.getElement pelo seletor correto de acordo com seu html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rafael,

 

Vamos por parte por favor, pois estou começando com jQuery. Sim eu disse para me explicar pois quero apreender hahah...

<dd><input type="hidden" name="email" value="seunome@dominio.com">seunome@dominio.com</dd>
document.getElementsByName('email').onchange=function(){
	var posArr = email.indexOf('@');
	var hidden = '';
	
	for(i=1;i<posArr;i++)
	hidden += '*';
}

Pode me dizer o'que está errado? o'que devo acrescentar para eu obter tal efeito?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você quer mascarar? O valor do input[type=hidden], do texto após ele ou ambos?

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.