【发布时间】:2014-05-31 05:45:06
【问题描述】:
我有这个小提琴:
代码只是一个带有模式的数字类型的输入字段
pattern="[0-9]+(\.[0-9]+)?"
如果输入无效,CSS会添加一个红色边框:
input:invalid { border:1px solid red; }
但是,如果我键入 1.3,然后在该字段中使用制表符,我会得到一个红色边框,即使根据模式这是正确的。这里有什么问题?
PS:这是在 Safari 中。
编辑:好的,我添加了 step="any",这似乎解决了它。各位能确认一下吗?
【问题讨论】:
-
你的小提琴对我来说很好用。在 1.3 上没有出现红色边框
-
Chrome 出现红色边框。
-
很奇怪。在 FF 中工作正常,但在 Chrome 中,我得到 1.3 的红色边框(应该没问题),但没有红色边框,只是 1.(应该是无效的)。我看不出正则表达式有什么问题。
-
很奇怪,我在 FF mobile 中没有得到任何输入的红色边框。 @Adam 1 是该模式的有效输入。
-
Chrome 似乎只接受整数。 “1.0”有效,但“1.1”、“1.3”等无效
标签: css html validation