为数字输入启用分数/分/小数
为了允许在HTML5数字输入上使用小数(分),您需要将“ step”属性指定为=“ any”:
<input type="number" min="1" step="any" />
当将十进制/小数货币输入到输入中时,这将特别防止Chrome显示错误。Mozilla,IE等...如果忘记指定,请不要出错step="any"
。W3C规范指出,确实需要step =“ any”来允许小数。因此,您绝对应该使用它。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input/number#step
请注意,如果希望向上/向下按钮执行特定的粒度设置,则必须指定数字步长,例如“ .01”。
此外,数字输入现在得到了广泛的支持(> 90%的用户)。
货币/货币有哪些输入选项?
此后,问题的标题发生了变化,含义有所不同。为了接受金钱/小数,可以同时使用数字或文本输入。
对于货币/金钱的输入字段,建议使用数字输入类型并指定如上所述的适当属性。截至2020年,还没有针对货币或金钱的实际输入类型的W3C规范。
主要原因是它会自动强制用户输入有效的标准货币格式,并且禁止使用任何字母数字文本。话虽如此,您当然可以使用常规文本输入并进行一些后期处理以仅获取数字/十进制值(有时还应在服务器端进行验证)。
OP详细说明了货币符号和逗号的要求。如果您想要这样更高级的逻辑/格式(从2020年开始),则需要为文本输入创建自定义JS逻辑或找到一个插件。
step
使用小数位指定属性。请参阅:HTML(5)中是否有浮点输入类型?