在输入限制中组合两个正则表达式 "pattern"

Combining two regex in input restriction "pattern"

我需要一个输入框,用户只能在其中输入 7 个数字,不多也不少,别无其他。

我需要(检查 7 个字符)

pattern=".{7,7}"

和(仅检查数字)

pattern="\d*"

一起工作,但是你不能两次定义模式,我如何将这两个结合在一起?

您可以使用

pattern="\d{7}"

或带有显式锚点:

pattern="^\d{7}$"

看到一个regex demo

您不需要为最小和最大阈值指定相同的值。如果您想允许 1 到 7 位数字,那么它是有道理的:pattern="\d{1,7}".

input:valid {
  color: black;
}
input:invalid {
  color: navy;
}
<form name="form1"> 
 <input type="text" pattern="\d{7}" title="7 digits only!" required/>
 <input type="Submit"/> 
</form>

要使输入字段成为必填字段,请添加 required 属性。

试试这个代码

 pattern="[0-9]{7}"