Заменить символы на звездочки
Здравствуйте. Как можно заменить вводимые символы в input type="text" на звездочки? Тип пароль не подходит.
Заранее спасибо) |
input.value = input.value.replace(/[\s\S]/g, "*") ; |
Спасибо)
|
Здравствуйте. Я совсем не разбираюсь в ява скриптах, поэтому мне не понятна строчка написанная выше Hekumok. Но мне очень нужен такой скрипт для замены символов на звездочки. Подскажите, пожалуйста, полный код для вставки на страницу с формой.
|
<input type="password"> |
LinaInverse,
спасибо за ответ, но не получается - я пробовал вставлять этот код перед формой, а также вот в таком виде: <script type="text/javascript"> [].forEach.call(document.querySelectorAll("input"), function(input){ input.oninput = function(){ input.value = input.value.replace(/./gm, "*"); }; }); </script> Но не работает. Что я делаю не так? j0hnik, type="password" не подходит - любой браузер начинает ругаться, что сайт не защищен, вводить пароль опасно и т.д. и т.п. |
получите бесплатный SSL сертификат "Letsencrypt" и забудьте о проблеме на 3 мес. займет 10-15 минут.
|
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="text"> <script> [].forEach.call(document.querySelectorAll("input"), function(input){ input.oninput = function(){ input.value = input.value.replace(/./gm, "*"); }; }); </script> </body> </html> так она будет менять на звезды символы и затрет настоящий пароль :write: |
LinaInverse,
Спасибо, все получилось. j0hnik, Спасибо, попробую с этим разобраться. |
Цитата:
Надо чтобы он не все символы закрывал, а только первые 4. Буду рад любой информации. Спасибо! |
input.value = input.value.replace(/^.{4}/, "****"); |
Цитата:
Цитата:
var val='012345678'; alert(val.replace(/^.{1,4}/,function(Str){ return Str.replace(/./g,'*'); })); |
Цитата:
Я думаю, что вы не хотите записать в базу данных «звёздочки»... Вы хотите, чтобы обычное значение выглядело так, чтобы первые четыре символа были представлены при помощи «звёздочек»! <input class="my-secret-field"> <style> input.my-secret-field:not(.mirror) { position: absolute; background: transparent; border-color: transparent; color: transparent; caret-color: black; } input.my-secret-field:not(.mirror)::selection { color: transparent; background: rgba(33, 150, 243, 0.25); } input.my-secret-field.mirror { pointer-events: none; } input.my-secret-field { -webkit-appearance: none; font-family: monospace; } </style> <script> function inputHandler(input, mirror) { return function() { mirror.value = input.value.replace(/^.{1,4}/, match => "•".repeat(match.length) ); }; } for(const input of document.querySelectorAll("input.my-secret-field")) { const mirror = input.cloneNode(true); const handler = inputHandler(input, mirror); mirror.classList.add("mirror"); mirror.removeAttribute("name"); // рони, laimas, почему я удаляю имя? input.after(mirror); input.addEventListener("input", handler); handler(); } </script> |
Цитата:
|
рони, да! Значение со «звёздочками» ни к нему на сервере, это только для представления!
|
Часовой пояс GMT +3, время: 16:27. |