JavaScript隐藏类似于密码的纯文本

JavaScript hiding plain text similar to password

本文关键字:文本 密码 隐藏 类似于 JavaScript      更新时间:2023-09-26

我正在尝试隐藏/显示哈希函数的纯文本,我已经能够隐藏输入字段,但我无法隐藏/显示纯文本,网页有一个输入字段,下面是我正在键入的文本,然后是哈希文本, 我正在尝试用项目符号替换纯文本。

我尝试通过计算字段中的字符数然后多次重复项目符号来隐藏它。 但是现在该页面根本无法运行。

<!DOCTYPE html>
<html>
<body>
    <input 
        name="show password" 
        type="checkbox" 
        checked="checked"
        onclick="toggleType();" />
    <input 
        size="80"
        input type="text"
        rows="7"
        id="edValue" 
        type="text" 
        onKeyPress="edValueKeyPress() 
        "onKeyUp="edValueKeyPress()">
    <p id="string">Original text: </p>
    <p id="lblValue">The SHA256 hash is:  </p>
<script type="text/javascript" src="sha256.js">
</script>
<script type="text/javascript">
    function edValueKeyPress()
    {
        var edValue = document.getElementById("edValue");
        var s = edValue.value;
        var lblValue = document.getElementById("lblValue");
        lblValue.innerText = "The SHA256 hash is: "+sha256_digest(s);
        var TheText = document.getElementById("string");
        TheText.innerText = "Original text: "+s;
    }
    function toggleType() {
        var obj = document.getElementById('edValue');
        if (obj.type == 'password') {
            obj.type = 'text';
        } else {
            obj.type = 'password';
            repeat();
        }
    }
    function repeat() {
        var length = this.value.length;
        var count = document.getElementById("edValue");
        String.prototype.repeat = function(n) {
        return new Array(1 + n).join(this);
        var TheText = document.getElementById("string");
        TheText.innerText = "*".repeat(count);
    }


</script>
</body>
</html>

只需使用正则表达式:

w/jQuery:

$('YOURELEMENT').html($('div').html().replace(/./g, '*'));

没有:

var text = document.getElementById('YOURELEMENT').innerText;
document.getElementById('string').innerHTML = text.replace(/./g, '*')

切换:

网页输入

<input 
        name="show password" 
        type="checkbox" 
        checked="checked"
        onclick="toggleType();" />
<input id="password" type="password" />

JavaScript

function toggleType(){
    var inputEl = document.getElementById('password');
  if(inputEl.type != "text"){
        inputEl.type = "text";
  }else{
      inputEl.type = "password";
  }
}

工作示例:http://jsfiddle.net/3MRAX/1/

很抱歉,OP,但我试过:(这是我所得到的。

爪哇语

function edValueKeyPress()
{
    var edValue = document.getElementById("edValue");
    var s = edValue.value;
    var lblValue = document.getElementById("lblValue");
    var hashes = s.hashCode;
    lblValue.innerHTML = "The SHA256 hash is: " + hashes;
    var text = document.getElementById("string");
    text.innerHTML = "Original text: " + s;
}
function toggleType() {
    var obj = document.getElementById('edValue');
    if (obj.type == 'password') {
        obj.type = 'text';
    } else if(obj.type == 'text'){
        obj.type = 'password';
    }
}

.HTML

<input 
    name="show password" 
    type="checkbox" 
    checked="checked"
    onclick="toggleType();" />
<input 
    size="80"
    type="text"
    rows="7"
    id="edValue" 
    type="text" 
    onkeyup="edValueKeyPress();">
<p id="string">Original text: </p>
<p id="lblValue">The SHA256 hash is:  </p>