我正在处理一个HTML页面,在该页面上有一些输入控件。 在这些输入控件中,用户应输入一个浮点数,p.e. “1234,56”在点/逗号前面有四个整数,后面有两个整数(最大值)。 如何在输入值的同时或之后找出值,如果值正确(点/逗号前后的整数数量;仅为整数)。检查HTML输入中输入的用户值是否为浮点数
在此先感谢!
我正在处理一个HTML页面,在该页面上有一些输入控件。 在这些输入控件中,用户应输入一个浮点数,p.e. “1234,56”在点/逗号前面有四个整数,后面有两个整数(最大值)。 如何在输入值的同时或之后找出值,如果值正确(点/逗号前后的整数数量;仅为整数)。检查HTML输入中输入的用户值是否为浮点数
在此先感谢!
我们可以通过将控件放置在窗体上,使用输入的模式属性和提交按钮来将模式与值进行比较。
第一个例子:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Checking floatnumbers</title>
<meta charset="utf-8" />
</head>
<body>
<form>
<input type="text"
maxlength="7"
placeholder="____,__"
title="Please use format ####,##"
pattern="\d{1,4}(|\.|,)?\d{1,2}" />
<br />
<!-- For testing input patterns -->
<input type="submit"
value="Submit" />
<br /><br />
<!-- Resets/clears the form -->
<input type="reset"
value="Reset" />
</form>
</body>
</html>
首先,输入必须的类型 “文本”,而不是 “数量” 如常。 该模式意味着用户可以/必须在点或逗号前输入1到4个数字。 可以输入点/逗号和以下1到2位小数,但不是必需的。
如果用户输入p.e. “12345”并点击提交按钮,它将显示来自财产标题的文本错误。
也许有些用户不想输入像“1,23”这样的数字,但是 - 因为他们很匆忙 - 只是“23”。 所以我们来看看第二个例子。
第二个例子:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Checking floatnumbers</title>
<meta charset="utf-8" />
</head>
<body>
<form>
<input type="text"
maxlength="7"
placeholder="____,__"
title="Please use format ####,##"
pattern="\d{0,4}(|\.|,)?\d{1,2}" />
<br /><br />
<!-- For testing input patterns -->
<input type="submit"
value="Submit" />
<br /><br />
<!-- Resets/clears the form -->
<input type="reset"
value="Reset" />
</form>
</body>
</html>
正如你所看到的点/逗号前输入的最小值为0,最大值为4 所以有可能进入像floatnumber”,23 ”。
如果我们想在输入法输入是负面的floatnumbers我们改变模式"^[+-]?\d{0,4}(|\.|,)?\d{1,2}"
和最大长度为8
另行通知 有了上面的图案,我们仍然可以进入像一个数字“12345”这在我们的案例中是不正确的。 正确的模式必须是:"^[+-]?\d{1,4}((\.|,)\d{1,2})?"
或"^[+-]?\d{0,4}((\.|,)\d{1,2})?"
以供将来参考,你很可能得到对这个问题下投票,因为它显示了你的一部分没有力气甚至企图你自己的问题。这个网站是为了寻求帮助而不是正确的代码,而不是一个完成自由职业工作的网站。 – leigero
对不起,我之所以加上这个问题,仅仅是因为我知道很多开发人员都有同样的问题,我得到了一个解决方案,我想公开这个问题,这样每个人都可以从中受益。 –
傻了,我刚刚意识到你回答了你自己的问题,以至于基本上使我想到的一切无效。继续。 – leigero