当给 input 设置类型为 number 时,比如,我想限制,只能输入 0-9 的正整数,正则表达式如下: /^[-]?$/ // 匹配 0-9 的整数且只匹配 0 次或 1 次 用正则测试,小数点是无法通过的,且,因为 设置了类型为 number,也无法输入字母, 但实际上,1. 类似这样的不合规则的数字是可以通过验证的,且,可以键入字母 e,因为 e 在不同范围也有不同的意义,我们默认认为e也代表一个数字. 解决办法如下: <input type='number' onkeypress='