INPUT [type = number]丢失Number.MAX_SAFE_INTEGER以上的数字

时间:2019-02-11 19:15:07

标签: html5 validation floating-point long-integer

在我的应用中,我有一个64位整数值,输出为以下HTML元素:

<input id="it" required="" type="number" name="SomeId" value="9123372036854775807">

在Firefox中,加载该元素时,它会显示值“ 9123372036854776000”,并且调整箭头会停止工作。

根据relevant section of the HTML spec,这似乎是设计使然:

  

给定字符串 input algorithm to convert a string to a number如下:如果将rules for parsing floating-point number values应用于 input 导致错误,然后返回错误;否则,返回结果编号。

也就是说,输入值被解析为Number,它不能表示2个 53 上的大多数长整数。

在仍具有良好的客户端验证的同时,如何将这个长整数字段表示为HTML input

0 个答案:

没有答案