Javascript 如何设置输入类型编号的限制和字符长度?

Javascript 如何设置输入类型编号的限制和字符长度?,javascript,Javascript,我有一段JavaScript代码,它将范围值设置为1-5 $(document).on('keyup','#getScore',function(){ var a = $(this).attr('value'); if($(this).val() > 5 ){ $(this).val(a); } }) 现在我还想把位数设为1。我该怎么做呢?试试这个 $(document).on('keyup','#getScore',function(){

我有一段JavaScript代码,它将范围值设置为1-5

$(document).on('keyup','#getScore',function(){
    var a = $(this).attr('value');
    if($(this).val() > 5 ){
        $(this).val(a);
    }
})
现在我还想把位数设为1。我该怎么做呢?

试试这个

    $(document).on('keyup','#getScore',function(){ 
    var a = $(this).val(); 
    if(a.length> 1 &&  $(this).val() > 5) {   
 // Your code
     }
     })

添加if($(this.val().length>1)

如果您的值是整数,则表示,
val.length
需要为字符串。。在获取长度之前,请使用
.toString()

$(document).on('keyup','getScore',function(){
var a=$(this.attr('value');
如果($(this.val()>5&&$(this.val().toString().length>1){
$(此).val(a);
}
})

设置
min
max
值属性,并找到大于1的值长度。应用
%10%5
将其转换为
1-5
。肯定不存在
2
数字,不能与上面的
5
匹配。而
a%10%5==0的用户?1:a%10%5
三值运算符及其控制与
1-5

$(document).on('keyup','getScore',function(){
var a=$(this.val()
如果($(this.val().length>1){
a=a<0?a*-1:a;//表示负数
$(this).val(a%10%5==0?1:a%10%5);
}
})

出于好奇,如果您试图将输入限制在数字1-5之间,为什么不使用数字输入

<form>
  Quantity (between 1 and 5):
  <input type="number" name="quantity" min="1" max="5">
</form>

数量(介于1和5之间):
  

我会这样做,尝试从输入中获取正确的数字,或者输入有效的数字:

$(document).on('input','getScore',function(){
var a=$(this.val();
如果(a.长度>1)
a=a.替换(/[^1-5]/g',).substr(-1);
$(this).val(a>5?5:a<1?1:a);
});


我想我将使用onkeypress而不是onkeypress。负数如何?如果长度大于1,我希望我的输入类型将返回false