您好我使用以下代码验证百分比字段。 该字段可以接受小数点前的2位数和小数点后的1位数。 值有效的是: 89,99.9,1.9,100。 我的代码允许直到99.9而不是100.如何更改代码让用户也输入100?
function run(el, evt, DivID) {
var charCode = (evt.which) ? evt.which : event.keyCode;
var number = el.value.split('.');
var val = el.value;
var caratPos = getItemSelStart (el);
var dotPos = el.value.indexOf(".");
if(number.length>1 && charCode == 46){
return false;
}
// Added these checks to input 100 also.
**if ( val == 10 && (val.length > 1 && val.length < 3) && charCode == 48 ) {
return true;
}
if (dotPos == -1 && (val.length > 2) && String.fromCharCode(charCode) == '.') {
return false;
}**
if(dotPos == -1 && val.length > 1 && String.fromCharCode(charCode)!='.' ) {
return false;
}
if(caratPos > dotPos && (dotPos > -1 ) && number[1].length > 0 ) {
return false;
}
if(caratPos == dotPos && dotPos > 1 && number[1].length > 0) {
return false;
}
return true;
}
function getItemSelStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate();
r.moveEnd('character', o.value.length);
if (r.text == '') return o.value.length;
return o.value.lastIndexOf(r.text);
} else return o.selectionStart;
}