您的位置:首页 > Web前端 > JavaScript

JS限制小数点前几位后几位

2017-09-01 16:24 183 查看
做到一个记账项目,需要限制输入数字满足小数点前只能输入9位,小数点后面只能输入2位,在网上找了一些代码,发现用不了,然后自己瞎想了一个。楼主不会正则,只能用这种笨办法了。代码如下,已作备注。// //存在小数点
// obj输入框对象
if(obj.value.indexOf(".") >= 0) {//判断是否有小数点
var cursurPosition=0;//光标位置
if(obj.selectionStart){//非IE浏览器
cursurPosition= obj.selectionStart;
}else{//IE浏览器
try{
var range = document.selection.createRange();
range.moveStart("character",-obj.value.length);
cursurPosition=range.text.length;
}catch(e){
cursurPosition = 0;
}
}
console.log("光标位置:"+cursurPosition+"-----小数点位置"+obj.value.indexOf("."));
if(cursurPosition<=obj.value.indexOf(".")){//当光标位置小于或者等于小数点位置,说明光标在整数部分
//小数点前9位
if(obj.value.substring(0, obj.value.indexOf(".")).length>= 9) {
return false;
}
}else{//当光标大于小数点位置,说明在小数点部分
//小数点后两位
if(obj.value.substring(obj.value.indexOf(".") + 1, obj.value.length).length >= 2) {
return false;
}
}
}
//不存在小数点
if(obj.value.indexOf(".") < 0) {
if(obj.value.length>=9){
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: