• 数据类型输入限制


    考验正则的时候到了!

    数字型

    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);
  • 相关阅读:
    迅雷极速版 2020年 防止升级方法
    微PE WEPEMENU.INI CDLINUX BEINI 启动菜单
    tcping 0.39
    海康威视楼宇可视对讲解码器拨码规则计算器-安卓版
    博客园-文字互动插件
    WSL-Ubuntu 安装Xubuntu-Desktop 记录
    html css的冷门相关基础知识整理
    git hub 的冲突解决方案
    css实现垂直居中的方式
    js中BOM相关知识
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/14701403.html
Copyright © 2020-2023  润新知