关于输入:正则表达式模式应该只允许0到100之间的整数不允许小数点

Regex pattern should allow only integers from 0 to 100 not allow decimal points

我有一个输入框,我需要的是它只允许0到100之间的值,它不允许输入十进制精度应该只允许10、25等整数,而不允许10.5、0.5…等。

我的尝试如下:

1
<input   id="discount" name="discount"  placeholder="Discount" autocomplete="off" type="number" inputmode="numeric" pattern="[0-9]*" value="0" maxlength="2">

小提琴

需要修改pattern="[0-9]*"

请引导我。


如果要限制数值范围,最好的方法是提供minmax属性。此外,如果您希望允许100个,则需要增加maxlength

1
2
3
input#discount:invalid {
  background-color: red;
}
1
2
3
4
 <input id="discount" name="discount"  placeholder="Discount"
        autocomplete="off" type="number" inputmode="numeric"
        min="0" max="100" maxlength="3"
        pattern="^([0-9]|[1-9][0-9]|100)$">


它应该是"^[0-9]*$",为您的模式添加开始和结束指示符。