因此,我的问题已经在这里以Java形式被其他人提出:Java - Create a new String instance with specified length and filled with specific character. Best solution?
但我正在寻找它的JavaScript等效物。
基本上,我想根据每个字段的“maxlength”属性动态填充文本字段,使其填充为“#”字符。因此,如果输入框有maxlength="3"
,则该字段将填充为“###”。
理想情况下,应该有类似于Java中的StringUtils.repeat("#", 10);
的东西,但是到目前为止,我能想到的最好的选择是循环遍历并逐个添加“#”字符,直到达到最大长度。我无法摆脱比这更有效的方法的感觉。
有什么建议吗?
FYI-我不能简单地设置输入框中的默认值,因为“#”字符需要在焦点清除,并且如果用户没有输入值,则需要在模糊时进行“重新填充”。 我关心"refill"这一步。
placeholder
可能是推荐的。将其应用于所有具有maxlength
的<input>
看起来像是document.querySelectorAll("[maxlength]").forEach((element) => element.placeholder = "#".repeat(element.maxLength));
。 - Sebastian Simon