2014-04-04 57 views
4

在我的項目中,我有一個文本字段,我需要接受小於或等於100的值。在該文本字段中,如何通過javascript或jquery實現此目的。不知怎的,我已成功地只接受在文本框中的數字,但我怎麼能限制它不能接受的數字超過100Javascript或jQuery接受小於100的文本字段的數字

這裏更大的是我曾嘗試只接受數字

function isNumber(evt) { 
    evt = (evt) ? evt : window.event; 
    var charCode = (evt.which) ? evt.which : evt.keyCode; 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
     return false; 
    } 
    return true; 
} 
+0

'',使用簡單的HTML – Satpal

+1

@govindsinghnagarkoti事情,這就是'perl'問題 – Satpal

回答

5

首先,你可以在HTML5中使用number類型與max屬性設置爲100

<input id="numberbox" type='number' max='100'> 

這將讓你的瀏覽器檢測到提交時,當一切都結束100。但是,它不適用於舊版瀏覽器和某些智能手機。

或者,你可以這樣做:

<input type='text' maxlength='2' pattern='^[0-9]$'> 

但我覺得這個選項是矯枉過正。但如果你想這樣做,這取決於你。只有剛剛足夠的知識,可以很容易地繞過這個

$('#numberbox').keyup(function(){ 
 
    if ($(this).val() > 100){ 
 
    alert("No numbers above 100"); 
 
    $(this).val('100'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='text' id='numberbox'>

也請驗證後端,有人:

在jQuery中,你可以做到這一點。

+0

是它'<輸入的ID = 「numberbox」'或'

+0

'id ='numberbox'' - 我無法打字。 @CJRamki – Albzi

+0

type =「number」由每個瀏覽器以不同的方式進行管理,因此如果使用浮動工具,第一個選項可能會出現問題。 –

1

與jQuery你的代碼可以這樣的事情:

$('#my-field').blur(function() { 
    if(parseInt($(this).val()) < 100) { 
     $(this).val(''); 
    } 
}); 

當用戶離開字段(字段鬆散焦點)時引發模糊事件。然後,如果該值小於100則清空,如有必要清空。

1
function isNumber(evt) { 
    evt = (evt) ? evt : window.event; 
    var charCode = (evt.which) ? evt.which : evt.keyCode; 
    var str = String.fromCharCode(charCode); 
    if (str>100)) { 
     return false; 
    } 
    return true; 
} 

可以使用fromCharCode它可以返回字符

1

請使用最大長度

maxlength="2" 

EX。

<!DOCTYPE html> 
<html> 
<body> 

<form action="demo_form.asp"> 
    PIN: <input type="text" name="pin" maxlength="2" size="30"><br> 
    <input type="submit" value="Submit"> 
</form> 

</body> 
</html> 
1

你可以這樣做:

$('yourElem').on('keydown', function(e){ 
    if(this.value > 100){ 
     alert('You have entered more than 100 as input'); 
     return false; 
    } 
}); 

maxlength屬性可以限制人數超過3個位數,這樣你就可以使用該功能限制:

maxlength="3" 

但你需要做上面建議的js驗證,因爲maxlength的用戶仍然可以輸入超過100 。

1

試試這個:

<script type="text/javascript"> 
function fnc(value, min, max) 
{ 
    if(parseInt(value) < 0 || isNaN(value)) 
     return 0; 
    else if(parseInt(value) > 100) 
     return "Number is greater than 100"; 
    else return value; 
} 
</script> 
<input type="text" name="textWeight" id="txtWeight" maxlength="5" onkeyup="this.value = fnc(this.value, 0, 100)"/> 
1

與你的代碼一起,你可以添加更多的線來限制文本字段接受不到2焦炭....

if (charCode.length > 2) { 
    return false; 
    } 
2

入住這demo

此外,你還必須限制的長度text field

一些這樣

var fieldVal = document.getElementById('txtF').value; 
//Suppose u want number that is less than 100 
if(fieldVal < 100){ 
    return true; 
} 
else 
{ 
    // 
}