鍍金池/ 問(wèn)答/HTML/ 如何給每個(gè)input都加上一個(gè)限制,只能輸入數(shù)字與小數(shù)點(diǎn)?

如何給每個(gè)input都加上一個(gè)限制,只能輸入數(shù)字與小數(shù)點(diǎn)?

圖片描述

input的type=number之后,出現(xiàn)上下加減的標(biāo)志
圖片描述

回答
編輯回答
念舊

input type="number"

2017年12月20日 16:52
編輯回答
空白格

事件代理,給父級(jí)綁定事件,然后監(jiān)聽子級(jí)onchange事件

2017年11月22日 18:18
編輯回答
筱饞貓

復(fù)制的一個(gè)二次開發(fā)軟件里的寫法
input中添加屬性 onkeypress="return WST.isNumberdoteKey(event)" onblur="javascript:WST.limitDecimal(this,2)" onkeyup="javascript:WST.isChinese(this,1)"

三個(gè)js函數(shù)可以添加到公共js文件中
//只能輸入數(shù)字和小數(shù)點(diǎn)
WST.isNumberdoteKey = function(evt){

 var e = evt || window.event; 
 var srcElement = e.srcElement || e.target;
 
 var charCode = (evt.which) ? evt.which : event.keyCode;            
 if (charCode > 31 && ((charCode < 48 || charCode > 57) && charCode!=46)){
     return false;
 }else{
     if(charCode==46){
         var s = srcElement.value;            
         if(s.length==0 || s.indexOf(".")!=-1){
             return false;
         }            
     }        
     return true;
 }

}
WST.limitDecimal = function(obj,len){

var s = obj.value;
 if(s.indexOf(".")>-1){
     if((s.length - s.indexOf(".")-1)>len){
         obj.value = s.substring(0,s.indexOf(".")+len+1);
     }
}
 s = null;

}
WST.isChinese = function(obj,isReplace){

 var pattern = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/i
 if(pattern.test(obj.value)){
     if(isReplace)obj.value=obj.value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/ig,"");
     return true;
 }
 return false;

}

2017年6月22日 14:07