2016-08-31 54 views
-2

我正在处理一个HTML页面,在该页面上有一些输入控件。 在这些输入控件中,用户应输入一个浮点数,p.e. “1234,56”在点/逗号前面有四个整数,后面有两个整数(最大值)。 如何在输入值的同时或之后找出值,如果值正确(点/逗号前后的整数数量;仅为整数)。检查HTML输入中输入的用户值是否为浮点数

在此先感谢!

+0

以供将来参考,你很可能得到对这个问题下投票,因为它显示了你的一部分没有力气甚至企图你自己的问题。这个网站是为了寻求帮助而不是正确的代码,而不是一个完成自由职业工作的网站。 – leigero

+0

对不起,我之所以加上这个问题,仅仅是因为我知道很多开发人员都有同样的问题,我得到了一个解决方案,我想公开这个问题,这样每个人都可以从中受益。 –

+0

傻了,我刚刚意识到你回答了你自己的问题,以至于基本上使我想到的一切无效。继续。 – leigero

回答

1

我们可以通过将控件放置在窗体上,使用输入的模式属性和提交按钮来将模式与值进行比较。

第一个例子:

<!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})?"