【问题标题】:Combining two regex in input restriction "pattern"在输入限制“模式”中结合两个正则表达式
【发布时间】:2017-06-12 11:45:13
【问题描述】:

我需要有一个输入字段,用户只能输入 7 个数字,仅此而已,仅此而已。

我需要(检查 7 个字符)

pattern=".{7,7}"

和(仅检查数字)

pattern="\d*"

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

【问题讨论】:

    标签: html regex input-field


    【解决方案1】:

    你可以使用

    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 属性。

    【讨论】:

    • 还有一个问题:如果你什么都不输入,表单仍然发送,我可以添加什么来阻止这个?
    • @MatthiasVerhoeven:使用required 属性。
    【解决方案2】:

    试试这个代码

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多