zoukankan      html  css  js  c++  java
  • 数据类型输入限制

    考验正则的时候到了!

    数字型

    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);
  • 相关阅读:
    如何把一个一般的git库变成“裸库”?
    MacOSX下杀掉sudo进程
    nginx FastCGI错误Primary script unknown解决办法
    Lua继承userdata
    Unity图文混排
    C++轻量级跨平台文件系统API
    lua_next()
    重载方法匹配算法
    C++模板函数只能全特化不能偏特化
    xcode离线安装包下载
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/14701403.html
Copyright © 2011-2022 走看看