2016-08-31 53 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})?"