【发布时间】:2012-03-21 09:34:39
【问题描述】:
声明:我有一个输入字段。用户在其中只输入数字。最大允许值为 500。 因此,如果用户尝试输入大于 500 的值,他应该无法输入该值。
例如:
- 如果用户尝试输入 600 或 700,百位最大值将为 5。
- 十位和个位 如果用户输入 5 作为第一位(百位),则最大值将为 0
PS : 用户只输入数字的处理已经使用以下代码 sn-p:
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
};
解决问题:
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
if(!(charCode > 31 && (charCode < 48 || charCode > 57)) && charCode != 8){
if($(evt.currentTarget).value.length == 3){
return false;
}
if($(evt.currentTarget).value.length == 2){
if($(evt.currentTarget).value.substring(0,1) > 5){
return false;
}else if($(evt.currentTarget).value.substring(0,1) == 5 && $(evt.currentTarget).value.substring(1,2) > 0 ){
return false;
}
}
}
return true;
};
【问题讨论】:
标签: javascript character-encoding ascii dom-events keypress