如何将<span>或<div>标记内容显示为星号(*)</div> </span>

时间:2010-09-29 05:33:02

标签: javascript jquery html css

我将显示用户的当前密码,如

Current Password : ******

我想要确切的星号(*)数,作为密码字符的数量。此外,它应该是安全的,它在View-Source中不可见。 Plz帮助,任何jquery插件可用吗?或者我们可以通过javascript实现它

5 个答案:

答案 0 :(得分:1)

您可以从后端获取密码长度(计数),并通过简单循环显示*作为该计数,并将字符串设置为div(使用innerHTML)。没有人得到你的实际密码,但可能是计数

编辑:

string pass = '';
String passcount=10; //get it from backend i dont know your language
for(int i=0; i<passcount.Length; i++){
   pass+="*";
}
........

document.getElementById('yourdivID').innerHTML =pass;

答案 1 :(得分:1)

我已经表达了我的反对意见和警告......所以,只需计算密码中的字符数并在视图中回显许多*。不需要Javascript。

答案 2 :(得分:1)

我不知道你使用的编程语言是什么,但是如果它像ASP.NET一样,我建议在代码后面获取字符串的长度,然后在发送之前将密码设置为星号到客户端页面。

在客户端页面的相关位置执行此操作:

string displayPassword = string.Empty;
for(int i = 0; i < thePassword.Length; i++)
   displayPassword += "*";

然后在页面上显示“displayPassword”变量而不是实际密码。

我认为你可能会尝试做什么,实际上你不应该解密密码(单向加密最好),并向用户显示密码中的字符数量隐藏密码似乎有点矛盾。

答案 3 :(得分:0)

  1. 使用没有边框的<input type=password>和readonly:
  2. < input type="password" name="password" style="border: 0px black solid" "readonly=readonly">

    1. 使用javascript。如果您的DIV ID是“密码”,请使用以下脚本:

      var password = <your password here>
      var dispPassword = new String();
      var n = password.length;
      while(dispPassword.length < n){ 
              dispPassword.push("*"); 
      }
      document.getElementById("password").innerHTML = dispPassword;
      
    2. 注意:根本不显示密码。用户可以通过查看页面源来查看密码,并且密码的用途会丢失。 实际上,将密码作为纯文本存储在数据库上并不安全。它应该加密(散列)。

答案 4 :(得分:-1)

您说您正在检索密码,因此请使用

<input type="password" />

如果您对样式不满意,可以使用css删除边框。