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);
  • 相关阅读:
    《把时间当作朋友》后记
    《把时间当作朋友》 李笑来
    chrome 和 IE 下 new Date()的不同 导致ajax出错
    ruby vim环境设置
    ASP.NET UserControl传递参数
    win2008 IIS7 ASP 的 405 错误
    天使的微笑——《天使爱美丽》
    随机点击表中某一行
    页面刷新方法
    随机选择下拉列表中的值
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/14701403.html
Copyright © 2011-2022 走看看