3 个回答

input type="number"

事件代理,给父级绑定事件,然后监听子级onchange事件

新手上路,请多包涵

复制的一个二次开发软件里的写法
input中添加属性 onkeypress="return WST.isNumberdoteKey(event)" onblur="javascript:WST.limitDecimal(this,2)" onkeyup="javascript:WST.isChinese(this,1)"

三个js函数可以添加到公共js文件中
//只能輸入數字和小數點
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;

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题