JavaScript隐藏与密码类似的纯文本
我试图隐藏/显示散列函数的纯文本,我能够隐藏输入字段,但我无法隐藏/显示纯文本,网页有一个输入字段,下面是我正在键入的文本,然后是散列文本,我试图用项目符号替换纯文本 我试图通过计算字段中的字符数来隐藏它,然后多次重复该项目符号。但是现在这个页面根本不起作用了JavaScript隐藏与密码类似的纯文本,javascript,html,sha,Javascript,Html,Sha,我试图隐藏/显示散列函数的纯文本,我能够隐藏输入字段,但我无法隐藏/显示纯文本,网页有一个输入字段,下面是我正在键入的文本,然后是散列文本,我试图用项目符号替换纯文本 我试图通过计算字段中的字符数来隐藏它,然后多次重复该项目符号。但是现在这个页面根本不起作用了 <!DOCTYPE html> <html> <body> <input name="show password" type="checkbox"
<!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>
原始文本:
SHA256哈希是:
函数edValueKeyPress()
{
var-edValue=document.getElementById(“edValue”);
var s=edValue.value;
var lblValue=document.getElementById(“lblValue”);
lblValue.innerText=“SHA256哈希为:“+SHA256\u摘要”;
var TheText=document.getElementById(“字符串”);
TheText.innerText=“原始文本:”+s;
}
函数toggleType(){
var obj=document.getElementById('edValue');
如果(obj.type=='password'){
obj.type='text';
}否则{
obj.type='密码';
重复();
}
}
函数重复(){
变量长度=this.value.length;
var count=document.getElementById(“edValue”);
String.prototype.repeat=函数(n){
返回新数组(1+n)。加入(此);
var TheText=document.getElementById(“字符串”);
TheText.innerText=“*”。重复(计数);
}
只需使用正则表达式:
w/jQuery:
$('YOURELEMENT').html($('div').html().replace(/./g, '*'));
没有:
var text = document.getElementById('YOURELEMENT').innerText;
document.getElementById('string').innerHTML = text.replace(/./g, '*')
要切换:
Html输入
<input
name="show password"
type="checkbox"
checked="checked"
onclick="toggleType();" />
<input id="password" type="password" />
工作示例:很抱歉,OP,但我尝试了:(这是我所能得到的 Javascript
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
原始文本:
SHA256哈希是:
为什么不使用密码输入类型?@kennebec我认为他们希望根据复选框是否选中来更改密码类型(从密码
到文本
)。他们已经有了在字段中隐藏密码的方法,听起来好像他们想要隐藏程序的结果,在那里它会回显输入的文本。
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';
}
}
<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>