mostrar e ocultar senha com javascript

Tutorial Completo para mostrar e ocultar senha com javascript

Neste artigo, vamos aprender como mostrar e ocultar senha com javascript. Essa funcionalidade é bastante útil em formulários de login, pois permite que o usuário visualize a senha que está digitando, caso seja necessário fazer alguma correção.

Compartilhe:

Neste artigo, vamos aprender como mostrar e ocultar senha com javascript. Essa funcionalidade é bastante útil em formulários de login, pois permite que o usuário visualize a senha que está digitando, caso seja necessário fazer alguma correção.

Além disso, vamos conhecer diferentes abordagens utilizando HTML, jQuery e JavaScript para implementar essa funcionalidade.

mostrar e ocultar senha com javascript

Implementando Funcionalidade de Mostrar e Ocultar Senha com jQuery

Para começar, vamos ver como implementar essa funcionalidade utilizando jQuery, uma biblioteca de JavaScript muito popular e fácil de usar.

No exemplo a seguir, iremos criar um formulário de login básico com um campo de senha e um botão para mostrar e ocultar senha com jQuery. O código HTML para simular essa tela de login é o seguinte:

<div class="container">
    <form action="" id="loginForm">
        <h2>Login</h2>
        <p><label for="username">Username</label><input type="text" name="username" id="username"
                placeholder="Username" /></p>
        <p><label for="password">Password</label><input type="password" name="password" id="password"
                placeholder="Password" /> <input type="button" id="showPassword" value="Show" class="button" /></p>
        <p><input type="submit" value="Login" class="button" /></p>
    </form>
</div>

Nesse código, temos um campo de senha com o tipo “password” e um botão com o id “showPassword”. A ideia é que ao clicar nesse botão, a senha seja mostrada ou ocultada, dependendo do estado atual do campo.

Agora, utilizaremos adicionaremos a funcionalidade de mostrar e ocultar senha com jQuery. O código em JavaScript/jQuery é o seguinte:

Se você tem interesse em artigos relacionado a categoria Javascript clique aqui!

$(document).ready(function(){
  $('#showPassword').on('click', function(){
    var passwordField = $('#password');
    var passwordFieldType = passwordField.attr('type');
    
    if(passwordFieldType == 'password') {
      passwordField.attr('type', 'text');
      $(this).val('Hide');
    } else {
      passwordField.attr('type', 'password');
      $(this).val('Show');
    }
  });
});

Nesse código, utilizamos o $(document).ready() para garantir que o código JavaScript só seja executado depois que a página estiver completamente carregada.

Em seguida, utilizamos o $('#showPassword') para selecionar o elemento com o id “showPassword” e adicionamos um evento de clique utilizando o .on('click', function(){}).

Dentro desse evento, selecionamos o campo de senha com o id “password” e verificamos qual é o tipo atual desse campo utilizando o .attr('type'). Se o tipo for “password”, alteramos o tipo para “text” e atualizamos o valor do botão para “Hide”. Caso contrário, alteramos o tipo para “password” e atualizamos o valor do botão para “Show”.

Com isso, a funcionalidade de mostrar e ocultar senha com jQuery está implementada.

Adicionando Botão Para Mostrar e Ocultar Senha Com Javascript

mostrar e ocultar senha com javascript

Agora, vamos ver como implementar a funcionalidade de botão para mostrar e ocultar senha com javascript, sem a necessidade de utilizar uma biblioteca externa como o jQuery.

Primeiro, vamos criar a estrutura do HTML para o campo de senha e o botão correspondente:

<div class="container">
    <h2>Login</h2>
    <label for="password">Password</label>
    <div class="password-container">
        <input type="password" id="password" placeholder="Password" />
        <button id="showPassword" class="show-password-button">Show</button>
    </div>
    <input type="submit" value="Login" class="button" />
</div>

Nesse código, adicionamos uma div com a classe “password-container” que envolve tanto o campo de senha quanto o botão de mostrar e ocultar senha com javascript. Também atribuímos o id “showPassword” ao botão.

Em seguida, vamos adicionar o estilo CSS necessário para estilizar o campo de senha e o botão:

.container {
  font-family: Arial, sans-serif;
}

.password-container {
  position: relative;
}

input[type="password"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.show-password-button {
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  background-color: transparent;
  border: none;
  cursor: pointer;
}

Nesse código CSS, definimos a fonte, o posicionamento e o estilo do campo de senha e do botão. O campo de senha ocupa 100% da largura disponível e possui uma borda sutil. O botão é posicionado de forma absoluta, à direita do campo de senha, e possui um fundo transparente e borda nula.

Por fim, implementaremos a lógica de mostrar e ocultar senha com javascript ao clicar no botão:

var showPasswordButton = document.getElementById('showPassword');
var passwordField = document.getElementById('password');

showPasswordButton.addEventListener('click', function () {
    if (passwordField.type === 'password') {
        passwordField.type = 'text';
        showPasswordButton.textContent = 'Hide';
    } else {
        passwordField.type = 'password';
        showPasswordButton.textContent = 'Show';
    }
});

Nesse código, atribuímos o elemento com o id “showPassword” à variável showPasswordButton e o elemento com o id “password” à variável passwordField. Utilizamos o método addEventListener() para adicionar um evento de clique ao botão.

Dentro desse evento, verificamos se o tipo do campo de senha é “password”. Se for, alteramos o tipo para “text” e atualizamos o texto do botão para “Hide”. Caso contrário, alteramos o tipo para “password” e atualizamos o texto do botão para “Show”.

Com isso, a funcionalidade de mostrar e ocultar senha com javascript puro está implementada.

Campo de Senha com Botão Mostrar e Ocultar Senha com Javascript

mostrar e ocultar senha com javascript

Neste último exemplo, vamos desenvolver um campo de senha com um botão que permite visualizar ou ocultar a senha ao clicar.

Primeiro, vamos baixar os dois ícones necessários para o botão. Acesse o site feather icons e pesquise por ‘eye’. Faça o download desses dois ícones.

Em seguida, crie uma pasta com três arquivos: index.html, style.css e main.js. Dentro dessa pasta, crie uma subpasta chamada ‘assets’ e coloque os ícones baixados dentro dela.

O código HTML para a estrutura básica do campo de senha e do botão é o seguinte:

<div class="container">
    <h2>Login</h2>
    <input type="password" id="password" placeholder="Password" />
    <button id="showPassword" class="show-password-button"><img src="assets/eye.svg" alt="Show Password" /></button>
</div>

Nesse código, temos um campo de senha com o id “password” e um botão com o id “showPassword”. O ícone do botão é carregado a partir do arquivo SVG “eye.svg”.

Agora, vamos adicionar o estilo CSS para estilizar o campo de senha e o botão:

.container {
  font-family: Arial, sans-serif;
  display: flex;
  align-items: center;
}

input[type="password"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.show-password-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.show-password-button img {
  width: 16px;
  height: 16px;
}

Nesse código CSS, definimos a fonte, a exibição flexível e o alinhamento vertical dos elementos. O campo de senha possui uma largura de 100%, uma borda sutil e bordas arredondadas.

O botão possui um fundo transparente, nenhuma borda e um cursor de ponteiro. O ícone do botão possui uma largura e altura de 16 pixels.

Por fim, vamos implementar a lógica de mostrar e ocultar senha com javascript ao clicar no botão:

var showPasswordButton = document.getElementById('showPassword');
var passwordField = document.getElementById('password');
var passwordVisible = false;

showPasswordButton.addEventListener('click', function () {
    passwordVisible = !passwordVisible;

    if (passwordVisible) {
        passwordField.type = 'text';
        showPasswordButton.innerHTML = '<img src="assets/eye-off.svg" alt="Hide Password" />';
    } else {
        passwordField.type = 'password';
        showPasswordButton.innerHTML = '<img src="assets/eye.svg" alt="Show Password" />';
    }
});

Nesse código, atribuímos o elemento com o id “showPassword” à variável showPasswordButton, o elemento com o id “password” à variável passwordField e definimos uma variável passwordVisible para rastrear se a senha está visível ou oculta.

Utilizamos o método addEventListener() para adicionar um evento de clique ao botão. Dentro desse evento, alteramos o valor da variável passwordVisible para o oposto do seu valor atual (true para false e vice-versa).

Em seguida, verificamos o valor da variável passwordVisible e, com base nisso, alteramos o tipo do campo de senha para “text” ou “password” e atualizamos o conteúdo do botão com o ícone correspondente.

Com isso, a funcionalidade de mostrar e ocultar senha com javascript puro está implementada.

Conclusão

mostrar e ocultar senha com javascript

Neste artigo, aprendemos diferentes maneiras de criar um campo de senha com um botão de mostrar e ocultar senha com javascript. Utilizamos HTML, jQuery e JavaScript para implementar essa funcionalidade em um formulário de login.

A funcionalidade de mostrar e ocultar senha com javascript é útil para os usuários ao digitar suas senhas, permitindo que eles visualizem a senha digitada e façam correções, se necessário.

Além disso, essa funcionalidade melhora a usabilidade do formulário, principalmente em dispositivos móveis.

Espero que este artigo tenha sido útil e que você possa aplicar essas técnicas em seus projetos. Lembre-se de adaptar o código conforme suas necessidades e estilos de programação.

Compartilhe:
Luis Reinaldo
Luis Reinaldo

Olá a todos! Eu sou o Luis Reinaldo Oliveira, e com 32 anos de idade, sou apaixonado por tecnologia e tenho o coração de um Dev FullStack. Minha jornada no universo da programação começou aos meus 15 anos e, desde então, nunca consegui me afastar dessa paixão. Sou daqueles que adoram transformar linhas de código em projetos incríveis e inovadores. Junte-se a mim nesta jornada pelo mundo da tecnologia e programação.