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);
};