我正在使用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]+" />
字符串
5条答案
按热度按时间mrzz3bfm1#
实际上,如果我正确阅读了文档,
pattern
对于type=number
来说是不支持的。因此,坚持使用type=text
,然后添加pattern="..."
用于前端验证。在下一步中,如果文本输入与JavaScript/计算格式不兼容,则需要将其转换为真实的。2017年,仍然没有很好的解决这个共同的问题...
tp5buhyn2#
截至目前(2017年8月30日),Antoine Therry的答案似乎在Chrome中不再有效(我的版本是60.0.3112.113)。不幸的是,除了用JavaScript模拟type=“number”之外,我没有其他建议。
q9rjltbz3#
至于现在,我已经试过了
字符串
或
型
它让我输入任何:逗号或句号。我已经在桌面Ubuntu和移动的Android上的Firefox和Chrome中测试过它。
s4n0splo4#
HTML5输入字段type=“number”旨在适应本地设置,称为本地化。这意味着它的行为(如格式化数字)取决于浏览器的区域设置。但是,这存在一个限制,因为您无法手动调整此特定元素的这些区域设置,也无法确定浏览器设置为哪个区域设置。
您可以将
inputmode="numeric"
与一个模式属性沿着使用,该属性将字符限制为数字和相关字符,而不是使用type="number"
。这将允许您接受任何格式的数字。字符串
rggaifut5#
我找到了一个更简单的方法来解决它
第一个月
打印值请使用php函数
number_format(number,5,',','.');
个https://www.php.net/manual/en/function.number-format.php