您必须将该输入元素的
lang
属性指定为其中句点表示小数而不是逗号的国家/地区的属性,例如。英语 (en)
<input type="number" step="0.01" min="0" lang="en">
您是否尝试过设置页面的文化代码?假设您的网站主要服务南非游客...?
这是我能想到的最接近的解决方案,可以达到相同的效果。它通过模式属性使用带有正则表达式的文本属性,而不是 HTML5 数字属性。
对于货币(或小数点后两位):
<input type="text" value="0" name="turnover" placeholder="0" pattern="\d+(\.\d{2})?"/>
对于科学(或小数点后 6 位)
<input type="text" value="0" name="turnover" placeholder="0" pattern="\d+(\.\d{6})?"/>
对于任何小数位
<input type="text" value="0" name="turnover" placeholder="0" pattern="\d+(\.\d+)?"/>
希望这有帮助。如果您有更好的解决方案,请留言!
就我而言,我使用网络工具从图中提取数据点(一个名为 WebPlotDigitizer 的网站)。当我提取数据点时,它们以逗号作为小数点分隔符显示。解决方案是将 Chrome 的首选语言从“西班牙语”更改为英语,因此它认为默认的小数分隔符是点