html页面显示无数小数,html – 为什么输入类型=数字允许多个小数?

我理解为什么

number inputs allow “e” or “E”,但我很困惑为什么它允许多个小数.

A string is a valid floating-point number if it consists of:

Optionally, a “-” (U+002D) character.

One or both of the following, in the given order:

A series of one or more ASCII digits.

A single “.” (U+002E) character.

A series of one or more ASCII digits.

Optionally:

Either a “e” (U+0065) character or a “E” (U+0045) character.

Optionally, a “-” (U+002D) character or “+” (U+002B) character.

A series of one or more ASCII digits.

我在这里看到的所有内容都表明输入中只允许一个小数点,并且在指定带有“e”的指数之前必须包含小数,并且无论如何都只能有一个“e”.

然而,允许这样的输入:

> 1 ….. 2

> ……

> eeee ……..

> 1.0.0.01.0

等等.

在IE 11中,它会让我输入任何字符串,但除非它是“有效”数字,否则.value为“”.在这种情况下,1 …… e是有效的,但eeeeee不是.如果IE确定该值无效,则在远离输入的焦点上,显示屏空白,从而阻止用户修改现有输入.

在Chrome 51中,它只会让我输入数字,/ – ,e / E和“.”.当我检查输入值如10.0.使用额外的十进制数,它仍然返回10.0的值,但如果我键入10.0.0或10 ..字符串将恢复为空. Chrome将保留显示无效输入.

当字符串变空时,它会阻止对输入进行进一步的验证检查并提供有用的用户反馈.

那么,为什么在数字输入字段中允许多个小数开始,为什么它们在浏览器之间如此奇怪地处理呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值