HTML5 type="number" 的输入框在 Chrome 浏览器中不接受逗号

HTML5 input box with type="number" does not accept comma in Chrome browser

我正在使用 HTML5 输入框和 type="number"。关于某些文档,如果我也使用 lang="" 属性,应该可以输入带逗号(而不是带句点)的数字。它适用于 Firefox,但不适用于 Chrome(不接受逗号)。如何让 Chrome 接受输入框中的逗号。 我的问题是我们的德国用户希望他们可以在那里输入逗号而不是句号。

https://jsfiddle.net/byte2702/y3Lpfw7m/

Please enter a number with comma: <br/>
<input id="num" type="number" step="any" lang="de" pattern="-?[0-9]+[\,.]*[0-9]+" /> 

截至目前(30/08/2017),Antoine Thiry 的回答似乎在 Chrome 中不再有效(我的版本是 60.0.3112.113)。不幸的是,除了用 javascript.

模拟 type="number" 之外,我没有任何其他建议

实际上,如果我正确阅读了文档,pattern 不支持 type=number。因此,坚持 type=text 然后添加 pattern="..." 进行前端验证。在下一步中,如果文本输入与 JavaScript/computing 格式不兼容,则需要将其转换为实数。

2017年到现在还没有很好的解决这个常见问题...

至于目前,我已经尝试过了

    <html lang="en">

    <input type="number" lang="en">

它让我输入任何:逗号或句点。我已经在 Firefox 的桌面 Ubuntu 和移动设备 Android 以及 Chrome.

上进行了测试

我找到了最简单的解决方法... <html lang="de"> 并打印值,请使用 https://www.php.net/manual/en/function.number-format.php php 函数 number_format(number,5,',','.');