js 코드가 잘 작성되지 않았습니다. 오류나 축약할 수 있는 부분은 전문가들이 지적해 주셨으면 좋겠습니다."/> js 코드가 잘 작성되지 않았습니다. 오류나 축약할 수 있는 부분은 전문가들이 지적해 주셨으면 좋겠습니다.">

>웹 프론트엔드 >JS 튜토리얼 >입력란에는 음수, 정수, 소수점 이하 2자리만 입력할 수 있습니다. (키보드 팝업 이벤트)

입력란에는 음수, 정수, 소수점 이하 2자리만 입력할 수 있습니다. (키보드 팝업 이벤트)

php是最好的语言
php是最好的语言원래의
2018-08-06 15:35:132326검색

html代码

 <input type="text" onkeyup="clearNoNum(this)">

js代码

   function clearNoNum(obj) {
       var str,num,arr,len,bool; 
       obj.style.imeMode =&#39;disabled&#39;   //禁止输入法
    
       obj.value = obj.value.replace("-", "$#$").replace(/\-/g, "").replace("$#$","-");
       obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$",".");
    
       arr = obj.value.substring(0,1);
       num = /^[0-9]*$/.test(arr);
       len = obj.value.substring("0",1);

   if( ((arr == "-") || (num == true && arr !== "0" )) || /^[0-9]*$/.test(obj.value) && len !== "0"){

       bool =  obj.value.slice(1).indexOf("-");     
       if(/^[0-9]*$/.test(bool)){
          obj.value = null
       }

       obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, &#39;$1$2.$3&#39;);// 只能输入两个小数     
       obj.value = obj.value.replace(/[^\-?\d.]/g, ""); // 清除"数字"和"."和"-"以外的字符

       if(obj.value !== "-" && obj.value !== "" & obj.value !== null){                    
            var val = parseFloat(obj.value);
            if (val >= 100000000000000000) {
                obj.value = "99999999999999.99";
            }             
               console.log(obj.value)  //最终值
      }
   }else{
      obj.value = null; 
   }
}

写的不好!
希望大神们指点    
错误或者可以简写的地方

相关文章:

解析html输入框只能输入数字和只能输入字母数字

限制文本框只能输入数字,小数点,英文字母,汉字

위 내용은 입력란에는 음수, 정수, 소수점 이하 2자리만 입력할 수 있습니다. (키보드 팝업 이벤트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.