更改HTML密码字段显示的符号

Jim*_*anz 37 html passwords input

有没有办法更改asterisks(*),或者在某些浏览器中有一个bullet(),它出现在HTML中的密码字段中?

Pet*_*lon 40

您无法更改标准密码字段中的密码屏蔽字符.您可以使用文本框伪装它,但它会导致弱安全模型,因为您无法从密码文本框中获得保护.作为一个侧面说明,它一般不会改变物品的行为,像这样的,因为用户已经习惯了掩蔽的一种形式是一个好主意,你将被引入一个不同的 - 如果没有很好的理由这样做,我避免它.

  • 您到底能从密码字段中获得什么保护?据我所知,这只是另一个可以通过开发工具轻松更改的元素。除了浏览器使用保存的凭据自动填充字段之外,密码字段根本不存在任何安全性。我错过了什么吗? (4认同)
  • @GuidoVisser 你说得对。除此之外,有时我不想显示保存的密码,也无法在所有主要浏览器上禁用它。 (2认同)

18C*_*18C 40

创建自己的字体并使用@font-facefont-family(和font-size)input[type="password"].它应该有助于解决您的问题.但是......你必须用替换的子弹和星号字符创建字体.字体中的所有字符数字可以表示相同的字符.使用谷歌查找免费程序来编辑矢量字体.

永远不要说"这是不可能的".你应该找到你的问题的黑客.

要用符号替换的字符(适用于Chrome,Firefox和MSIE):26AB,25E6,25CF,25D8,25D9,2219,20F0,2022,2024,00B7,002A.

(18C)

  • 您有可以分享的示例字体吗? (2认同)
  • @waLLe:女人不是男人......人们很少会想到抽象和多层次的行为.BTW.问题是陈旧的(2009年)但仍然活跃.在过去,没有定义`@ font-face`.在2009年,虽然Firefox支持v3.5,IE可能来自v6,Chrome来自v4,但人们无法重复这个答案.但仍然...... Opera Mini不支持.当我写下答案时,主要答案是+21分. (2认同)
  • @ 18C ..嘿女士,您的身份证18c不能猜测性别。使用概率平衡,我说“男人” ...对不起。.无论如何,谢谢您的解释.. :) (2认同)
  • @waLLe:然后使用普遍且自然的“你”。用英语就可以了。 (2认同)

www*_*139 6

到目前为止,似乎在webkit浏览器中是可行的。有关示例和文档,请参阅http://help.dottoro.com/lcbkewgt.php

不适用于密码输入

<input type="text" style="-webkit-text-security: square;" />
Run Code Online (Sandbox Code Playgroud)

截至撰写此答案时,其他浏览器都没有好的解决方案,即使在Webkit浏览器中,允许您指定的字符也非常有限。

  • 这行不通。我在4种不同的浏览器上进行了测试。 (5认同)

Isa*_*sca 6

我知道这是一个非常古老的问题,但我今天遇到了这个问题,我使用这种方法解决了它:https : //github.com/Mottie/input-password-bullet

基本上,我创建了一个新字体,其中将默认点分配给另一个图标。然后,只需要将字体文件导入到项目中,并添加一个类似这样的css:

@font-face {
    font-family: 'fontello';
    src: url('/fonts/fontello.eot');
    src: url('/fonts/fontello.eot') format('embedded-opentype'),
    url('/fonts/fontello.woff') format('woff'),
    url('/fonts/fontello.ttf') format('truetype'),
    url('/fonts/fontello.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}

input[type="password"] {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    color: red;
    font-size: 16px;

    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;

    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */

    /* add spacing to better separate each image */
    letter-spacing: 2px;
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


And*_*yle 5

不 - 用户代理选择自己的默认样式,并且(据我所知)没有可以更改的 CSS 属性来确定掩码字符。

当然,如果密码字段只是一个标准文本字段,并且您使用 javascript 事件处理程序(可能是 onKeyPress)手动屏蔽输入,那么这将是可能的。您甚至可以像type="password"在 HTML 中一样声明该字段,然后让您的 JS 函数修改 DOM 以更改其类型。不过,我对这样做有点谨慎;浏览器的实现几乎可以肯定是非常可靠的,绕过既定的安全功能来推出自己的功能很少是一个好主意。

  • 建立安全功能?HTML 中的密码和文本输入字段大致相同,只是 UI 发生了变化,密码字段中发生了屏蔽。我不会贬低您的答案,但这不像重新发明轮子或创建自制加密引擎,它只是修补 UI 元素以满足您的喜好。 (7认同)
  • @MicahHenning 感谢您指出这一点。无论如何,即使用户尝试从自定义文本框进行复制,他得到的也只是星号或点或您选择用来掩盖真实密码的任何其他符号。 (3认同)