【问题标题】:Having trouble replacing an input in Prompt dialog box to asterisks将提示对话框中的输入替换为星号时遇到问题
【发布时间】:2015-04-02 11:47:40
【问题描述】:

您好,我想用星号替换提示对话框的输入。例如我写汤姆然后我希望警报对话框显示你的密码是***。

<script type="text/JavaScript">
//declared variables
var input1 =0;
var dis = input1.length;


input1=prompt("Please enter your Password here","Enter Password Here");
dis.replace(/./gmi, '*')
window.alert("Valid password "+ input1 + "\n You entered the password " + 
input1);
</script>

我试过了,但它说替换是未定义的。

【问题讨论】:

  • 我没有从中得到任何帮助。我需要它是 Javascript 而不是 html。
  • 当你可以将文本框类型指定为密码并且条目将显示为星号时,为什么要使用JS。
  • 您不应编辑当前问题来提出新问题。要问另一个问题,您应该使用按钮提出一个新问题。顺便说一句,首先确保您的新问题是on-topic,您编辑的问题肯定不会。

标签: javascript


【解决方案1】:

如果我理解正确,那么您不应该将replace(" ", "*") 用作replace() replaces only first character

为此使用正则表达式(replace() 方法的重载)。这看起来像input1.replace(/./gmi, '*')

【讨论】:

  • 它不起作用,因为我需要在警报对话框中显示结果
【解决方案2】:

人们可以在这里发挥创意(这意味着可以替代使用 replace()

var plainText = prompt("Please enter your Password here", "Enter Password Here");
var asterisks = (new Array(plainText.length+1).join("*"));

// if you enter "Tom" you get
//
// plainText = "Tom"
// asterisks = "***"

【讨论】:

    【解决方案3】:

    您只需像这样创建输入字段:

    【讨论】:

    • " "
    • 这是一个java脚本问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2013-04-17
    • 1970-01-01
    相关资源
    最近更新 更多