. . . 但我正在寻找它的 JavaScript 等价物。
基本上,我想根据每个字段的“maxlength”属性用“#”字符动态填充文本字段。因此,如果输入 has maxlength="3",则该字段将填充“###”。
maxlength="3"
理想情况下会有类似 Java 的东西StringUtils.repeat("#", 10);,但是到目前为止,我能想到的最好的选择是循环并附加“#”字符,一次一个,直到达到最大长度。我无法摆脱比这更有效的方法的感觉。
StringUtils.repeat("#", 10);
有任何想法吗?
仅供参考 - 我不能简单地在输入中设置默认值,因为“#”字符需要清除焦点,并且如果用户没有输入值,则需要在模糊时“重新填充”。这是我关心的“补充”步骤
最好的方法(我见过)是
var str = new Array(len + 1).join( character );
这将创建一个具有给定长度的数组,然后将其与给定的字符串连接以重复。.join()无论元素是否分配了值,该函数都会尊重数组长度,并且未定义的值将呈现为空字符串。
.join()
您必须将 1 添加到所需的长度,因为分隔符字符串位于数组元素 之间。