【问题标题】:HTML5: Set input pattern to fixed valueHTML5:将输入模式设置为固定值
【发布时间】:2026-01-27 02:35:01
【问题描述】:

如果我希望输入等同于特定值,我应该使用什么正则表达式?例如,输入字段必须是“100”。这会是什么表达方式?

我已经试过了:

<input type="text" pattern="[1-1][0-0][0-0]" maxlength="3" disabled required/>

上面的属性在没有禁用的情况下可以工作,但如果输入被禁用则不起作用。

我想要做的是让用户能够插入分配给 2 次考试(期中和期末)的总分。并且总数的输入是由jquery完成的,应该是一百。我正在寻找一个使用 HTML5 的简单解决方案,如果总的输入不等于百,则会出现验证错误。

谢谢。

【问题讨论】:

    标签: html validation input


    【解决方案1】:
    <input type="number" name="foo" pattern="100" required>
    

    应该这样做。

    【讨论】:

    • 适用于我:jsfiddle.net/74anbax0(不能提交例如“12”、“1000”、“10”、“20” - 只有“100”)
    • 我想我找到了罪魁祸首。我的输入字段被禁用(正在通过 js 输入值)。有什么方法可以使验证与 disabled 属性一起工作?示例:jsfiddle.net/74anbax0/1
    • 嗯,我不确定。但我不明白为什么你需要验证一个没有人可以输入值的字段?用 JS 插入值时,只要确保它不包含错误的模式?
    • 这不是一个好主意。我认为如果是这种情况,他需要将其更改为具有特定值的按钮。
    • 实际上我要做的是让用户能够插入分配给 2 次考试(期中和期末)的总分。总数应该是一百……我正在寻找一个使用 HTML5 的简单解决方案,如果总数的输入不等于一百,它会给出验证错误。仅使用 html5 是不可能的吗?
    【解决方案2】:

    您可以使用 jquery 来检查输入的值。 因为你不需要使用正则表达式。

    var inputvalue = $("input").val();
    if(inputvalue == '100'){
     alert('value == 100');
    }
    

    【讨论】:

    • 我正在尝试使用 html5 验证,使用它是不可能的吗?
    • 他特意要求HTML5模式属性解决方案。此外,表单的 JS 验证是 SO 2012:P