html5_input_type_number保留2位小数

 

html5input保留2位小数

<!DOCTYPE HTML>
<html>
<script type="text/javascript">  
function noNumbers(e)  
{  
var keynum  
var keychar  
var numcheck  
if(window.event) // IE  
{  
keynum = e.keyCode  
}  
else if(e.which) // Netscape/Firefox/Opera  
{  
keynum = e.which  
}  
keychar = String.fromCharCode(keynum);
//判断是数字,且小数点后面只保留两位小数
if(!isNaN(keychar)){
var index=e.currentTarget.value.indexOf(".");
if(index >= 0 && e.currentTarget.value.length-index >2){
return false;
}
return true;
}
//如果是小数点 但不能出现多个 且第一位不能是小数点
if("."== keychar ){
if(e.currentTarget.value==""){
return false;
}
if(e.currentTarget.value.indexOf(".") >= 0){
return false;
}
return true;
}
return false  ;
}  
</script>
<body>


<input type="number" onkeypress="return noNumbers(event)">




</body>

</html>

 

 

 

另外一段代码,效果是用户输入的数字如果超过2位,就自动四舍五入为2位

<!DOCTYPE HTML>
<html>
<script type="text/JavaScript">  
function noNumbers(e,len)  
{  


var val = e.currentTarget.value;


if(!val){
return;
}


var b = parseFloat(val);
e.currentTarget.value = Number(b).toFixed(len);


}  
</script>
<body>




<input type="number" onblur="noNumbers(event,2)">
</body>
</html>

 

第二段代码的angular版本

<input type="number" style="outline:#8f8f8f solid thin;" ng-blur="noNumbers($event,2);"></input>

 

 

  $scope.noNumbers=function(e,len){
var val = e.target.value;
if(!val){
return;
}
var b = parseFloat(val);
e.target.value = Number(b).toFixed(len);
};
 
 
 
posted @ 2016-06-15 15:18  爱博子  阅读(7060)  评论(0编辑  收藏  举报