首页 > 解决方案 > 强制将特定模式放入文本框

问题描述

我有一个带有文本框的网页。目前通过一些 javascript 文本框只允许您输入数字或减号或破折号 - 。

我的问题是,我想要一种方法来进一步强制输入为 3 个数字后跟一个“-”然后再跟 2 个数字的形式,就是这样。所以每次输入时它看起来像###-##。到目前为止,我已经尝试了很多方法,比如这段代码。

<input type="text" name="Item1" id = "Item1" value="" type="number" pattern="(0){3}-(0){2}" onkeypress="return isNumberKey(event)"/></input>

但模式没有奏效。任何关于我应该从哪里开始研究或示例代码的建议都会很棒。我希望它可以在 CSS 中实现,但 javascript 可以。

标签: javascripthtmlcssregex

解决方案


以下模式应该可以解决问题。

[0-9]{3}-?[0-9]{2}

如在

<input type="text" name="Item1" id = "Item1" value="" type="number" pattern="[0-9]{3}-?[0-9]{2}" onkeypress="return isNumberKey(event)"/></input>

推荐阅读