2015-02-10 40 views
-2

我在html頁面上有很多輸入框。我想限制用戶輸入字母和大數字。我知道如何只接受一定的字符串長度,但這是不行的。用戶必須能夠在其數字中使用小數。如何將輸入值限制爲2位數字,還允許使用3位小數?

HTML

<input type="text" id="userInput" maxlength = "2"> 
<button id="enter_button">Enter</button> 

的Javascript

$("#enter_button").click(function(){ 
    var Input = $("#userInput").val(); 
    if(!isNaN(Input)){ 
     //Carry out code 
    }else{ 
     $("#userInput").val(""); 
     alert("You must enter a number"); 
    }; 
}); 

這是我的代碼,目前在什麼一個例子。正如你所看到的,這只是簡單的驗證檢查,看看輸入是否是數字。我已將輸入字段的最大長度設置爲2,但這樣做會阻止用戶在輸入2位後輸入小數。 我希望用戶能夠提交例如2.678或87.786。 如果唯一的方法是使用驗證,例如我在這裏完成的工作,那麼我將不得不忍受這樣做。

P.S.我期望限制的字符是空格,字母和特殊字符,例如你好,!%^ &。而大量的數字我的意思是超過100.min = 0.000,最大= 99.999。

+0

查看正則表達式 – 2015-02-10 19:21:15

+3

請提供您已經嘗試過的內容,以及一些有效和無效數據的示例。 – talemyn 2015-02-10 19:21:24

+0

我剛剛設置了輸入maxlength =「2」。我有驗證檢查,看看值是一個字符串還是一個數字,但我只想限制用戶能夠鍵入字符串和/或大數字。另外我想避免使用更多的庫 – JimiiBee 2015-02-10 19:27:23

回答

0

你應該解釋一下你的意思是「字符串」,但是這個正則表達式最多可以接受2位數字和3位小數位。

但是,不接受小數點後面沒有任何內容。例如「12.」返回false

var regex = /^\d{0,2}\.\d{1,3}$|^\d{0,2}$/ 
var match = regex.test("11.334"); //boolean 
+0

抱歉,並不意味着「字符串」。我的意思是信件 – JimiiBee 2015-02-10 20:18:02

相關問題