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;
}
}
// 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;
}
}
相关文章推荐
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- js实现文本框限制输入数字和小数点--兼容多个浏览器
- js判断小数点几位
- js保留小数点后面几位的方法
- js正则表达式限制文本框只能输入数字,小数点,英文字母
- js截取小数点后几位的写法
- js 限制输入N位小数点
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- js保留小数点后几位的写法
- 从别人那看到的 js正则表达式限制文本框只能输入数字,小数点,英文字母
- js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点-备
- js如何判断小数点后有几位
- js限制input只能输入有效的数字(第一个不能是小数点)
- js截取小数点后几位的写法
- js实现精确到小数点后几位的四舍五入函数
- js限制输入框只能输入数字、负数和小数点
- js读取小数点后几位方法
- JS判断小数点后有几位
- js截取小数点后几位
- JS之 输入框限制输入数字且最大精确到小数点后两位