数据类型输入限制

 

考验正则的时候到了!

数字型

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.55if(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);

 

posted @   指令跳动  阅读(108)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-25 SQL:子查询
点击右上角即可分享
微信分享提示