Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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'
Legal Rafael,
Mais um para minha coleção.
vlw
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!
Qual a sua dúvida com as sugestões dos colegas ?
vc tentou aplicar elas ?
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.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/1hoI6nt.png&key=eebad74819afdbb9b360de95ed446494cbafd6b66798d04d03bcdaa99a169364" alt="1hoI6nt.png" />
Obrigado desde já.
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.
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á.
O que você quer mascarar? O valor do input[type=hidden], do texto após ele ou ambos?
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.aspx) ( Veja nos exemplos )
Espero ter ajudado,
vlw