数据类型输入限制
考验正则的时候到了!
数字型
1,整数
//1,保存第一个字符 let first_char = obj.value.charAt(0); //2,只保留数字 obj.value = obj.value.replace(/[^\d]/g,''); //处理开头的0 obj.value = obj.value.replaceAll(/[^\d]/g,''); if(obj.value != 0){ obj.value = obj.value.replace(/^0*/g,''); }else{ obj.value = obj.value.replace(/^0*/g,'0'); } //3,如果第一位是负号-,则可以添加 if(first_char =='-'){ obj.value = first_char + obj.value; }
2,非负整数
//1,保存第一个字符 let first_char = obj.value.charAt(0); //2,只保留数字 obj.value = obj.value.replace('/[^\d]/g',''); //3,如果>0,去掉开头的0 if(obj.value > 0){ obj.value = obj.value.replace('/^0/g',''); }
3,正整数
//1,保存第一个字符 let first_char = obj.value.charAt(0); //2,只保留数字 obj.value = obj.value.replace('/[^\d]/g',''); //3,去掉开头的0 obj.value = obj.value.replace('/^0/g','');
4,浮点型(包含整数)
//1,保存第一个字符 let first_char = obj.value.charAt(0); //2,只保留数字和点 obj.value = obj.value.replace('/[^\d\.]/g',''); //3,第一个不能是点 obj.value = obj.value.replace('/^\./g',''); //4,连续的点只保留一个 obj.value = obj.value.replace('/\.{2,}/g','.'); //5,保证点只能出现1次 obj.value = obj.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.'); //6,如果第一位是负号-,则可以添加 if(first_char =='-'){ obj.value = first_char + obj.value; }
5,限制大小
//在前面1-4的基础上,继续判断 max = 100.55; min = -100.55; if(obj.value>max){ obj.value=max; } if(obj.value<min){ obj.value = min; }
6,限制小数点位数,待整理
字符型
1,限制字符长度
//10位长度 let len =10; obj.value = obj.value.substring(0,len);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-04-25 SQL:子查询