验证百分比字段

时间:2016-07-14 13:58:10

标签: javascript validation

您好我使用以下代码验证百分比字段。 该字段可以接受小数点前的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;
      }

0 个答案:

没有答案
相关问题