js怎么判断输入的金额只能是小数点前10位,小数点后两位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么判断输入的金额只能是小数点前10位,小数点后两位相关的知识,希望对你有一定的参考价值。
可以不用输入小数点后面的:<input type="text" onchange="if(!/^\d1,10(\.\d1,2)?$/.test(this.value))alert('输入错误')" />
必须要写2位小数点:
<input type="text" onchange="if(!/^\d1,10\.\d2?$/.test(this.value))alert('输入错误')" /> 参考技术A 可以不用输入小数点后面的:
<input
type="text"
onchange="if(!/^\d1,10(\.\d1,2)?$/.test(this.value))alert('输入错误')"
/>
必须要写2位小数点:
<input
type="text"
onchange="if(!/^\d1,10\.\d2?$/.test(this.value))alert('输入错误')"
/> 参考技术B 正则:
var reg = /^\d1,10(\.\d1,2)?$/;
if(reg.test("123.3453"))
alert("错误");
参考技术C 正则表达式?
js怎么判断一个数字是几位小数
首先你需要知道split 这个属性,然后通过获取需要判定的数字并且分割得到一个数组,然后即可判断是多少位小数,注意你的内容只能有一个小数点,如果多了需要进行判断。代码如下:
html <div id="aabbcc">12.321456</div>
js
var _id = document.getElementById("aabbcc").innerHTML;
var _iid = _id.split(".")
console.log(_iid[1].length) 参考技术A 第一种,利用math.round
var original=28.453
1) //round "original" to two decimals
var result=Math.round(original*100)/100; //returns 28.45
2) // round "original" to 1 decimal
var result=Math.round(original*10)/10; //returns 28.5
第二种,js1.5以上可以利用toFixed(x) ,可指定数字截取小数点后 x位
3) //round "original" to two decimals
var result=original.toFixed(2); //returns 28.45
4) // round "original" to 1 decimal
var result=original.toFixed(1); //returns 28.5
以上两种方法最通用,但却无法满足某些特殊要求,比如保留小数点后两位,如果不满两位,不满两位则补零。 参考技术B 获得这个数字然后转换成String类型,通过split(".")的方式获得数组a 然后alert(a[1].length)就可以弹出小数的个数 参考技术C var num = 1.22222;
alert(String(num).length - String(num).indexOf('.') - 1); 参考技术D 用正则表达式,或是写一个函数判断
以上是关于js怎么判断输入的金额只能是小数点前10位,小数点后两位的主要内容,如果未能解决你的问题,请参考以下文章