在我的项目中,我有一个文本字段,我需要接受小于或等于100的值.在该文本字段中,如何通过javascript或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;
}
Run Code Online (Sandbox Code Playgroud)
首先,您可以number在HTML5中使用类型max设置为100的类型.
<input id="numberbox" type='number' max='100'>
Run Code Online (Sandbox Code Playgroud)
这将允许您的浏览器100在提交时检测它何时结束.但是,它不适用于旧版浏览器和某些智能手机.
或者,你可以这样做:
<input type='text' maxlength='2' pattern='^[0-9]$'>
Run Code Online (Sandbox Code Playgroud)
但我觉得这个选择太过分了.但如果你想这样做,那取决于你.
在jQuery中,您可以这样做:
$('#numberbox').keyup(function(){
if ($(this).val() > 100){
alert("No numbers above 100");
$(this).val('100');
}
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='numberbox'>Run Code Online (Sandbox Code Playgroud)
还要验证后端,只有足够知识的人才能轻易绕过这个.