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);
  • 相关阅读:
    tomcat虚拟目录配置
    关于JS闭包
    数据列表里结合负边距做间隔线的技巧需注意的小细节
    前端优化技巧笔记
    浏览器工作原理相关笔记
    工作小心得(关于绝对定位元素)
    关于定位和溢出处理的一些小经历
    关于定位和z-index的一些小经历
    fullpage实现(-)
    移动端布局-实例
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/14701403.html
Copyright © 2011-2022 走看看