zoukankan      html  css  js  c++  java
  • 整数、浮点数校验(含正负)

    数字校验

    校验传过来的数据是不是数字(字符串和数字都可以)

    浮点数判断(整数小数都可以)

    +1.12 非法版

    /**
    * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true(+1.213 不通过)
    **/
    function isNumber(val){
        var regPos = /^d+(.d+)?$/; //非负浮点数
        var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
        if(regPos.test(val) || regNeg.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    // ============ 测试 ===========
    isNumber('1')
    // true
    isNumber('+1')
    // false
    isNumber('-1')
    // true
    isNumber(1.23)
    // true
    isNumber(+1.23)
    // false
    isNumber(-1.23)
    // true
    

    +1.12 合法版

    /**
    * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true(+1.213 可通过)
    **/
    function isNumber(val){
        var regPos = /^d+(.d+)?$/; // 非负浮点数 1.11
        var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; // 负浮点数 -1.11
        var regPos2 = /^(+(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; // 正浮点数 +1.11
        if(regPos.test(val) || regNeg.test(val) || regPos2.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    // ============ 测试 ===========
    isNumber('1')
    // true
    isNumber('+1')
    // true
    isNumber('-1')
    // true
    isNumber(1.23)
    // true
    isNumber(+1.23)
    // true
    isNumber(-1.23)
    // true
    

    整数判断(小数非法)

    +123 非法版

    /**
    * 校验正负正数就返回true(+123 不通过)
    **/
    function isIntNum(val){
        var regPos = /^d+$/; // 非负整数
        var regNeg = /^-[1-9][0-9]*$/; // 负整数
        if(regPos.test(val) || regNeg.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    // ============ 测试 ===========
    isIntNum(123)
    // true
    isIntNum(+123)
    // true
    isIntNum(-123)
    // true
    isIntNum('123')
    // true
    isIntNum('+123')
    // false
    isIntNum('-123')
    // true
    

    +123 合法版

    /**
    * 校验正负正数就返回true(+123 可通过)
    **/
    function isIntNum(val){
        var regPos = /^d+$/; // 非负整数 123
        var regNeg = /^-[1-9][0-9]*$/; // 负整数 -123
        var regPos2 = /^+[1-9][0-9]*$/; // +123
        if(regPos.test(val) || regNeg.test(val) || regPos2.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    // ============ 测试 ===========
    isIntNum(123)
    // true
    isIntNum(+123)
    // true
    isIntNum(-123)
    // true
    isIntNum('123')
    // true
    isIntNum('+123')
    // true
    isIntNum('-123')
    // true
    

    整合版

    其实就是四个整合到一个 js 文件里

    srcutilscommons.js

    /**
    * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true(+1.213 不通过)
    **/
    function isNumberCanHavePlus(val){
        var regPos = /^d+(.d+)?$/; //非负浮点数
        var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
        if(regPos.test(val) || regNeg.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    /**
    * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true(+1.213 可通过)
    **/
    function isNumber(val){
        var regPos = /^d+(.d+)?$/; // 非负浮点数 1.11
        var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; // 负浮点数 -1.11
        var regPos2 = /^(+(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; // 正浮点数 +1.11
        if(regPos.test(val) || regNeg.test(val) || regPos2.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    /**
    * 校验正负正数就返回true(+123 可通过)
    **/
    function isIntNumCanHavePlus(val){
        var regPos = /^d+$/; // 非负整数 123
        var regNeg = /^-[1-9][0-9]*$/; // 负整数 -123
        var regPos2 = /^+[1-9][0-9]*$/; // +123
        if(regPos.test(val) || regNeg.test(val) || regPos2.test(val)){
            return true;
        }else{
            return false;
        }
    }
    
    
    /**
    * 校验正负正数就返回true(+123 不通过)
    **/
    function isIntNum(val){
        var regPos = /^d+$/; // 非负整数
        var regNeg = /^-[1-9][0-9]*$/; // 负整数
        if(regPos.test(val) || regNeg.test(val)){
            return true;
        }else{
            return false;
        }
    }
    

    使用案例

    根据自己的需要,自行组合

    import { isNumberCanHavePlus, isNumber, isIntNumCanHavePlus, isIntNum } from '../../../utils/commons';
    
    // ============ 测试 ===========
    isNumberCanHavePlus('1')
    // true
    isNumberCanHavePlus('+1')
    // false
    isNumberCanHavePlus('-1')
    // true
    isNumberCanHavePlus(1.23)
    // true
    isNumberCanHavePlus(+1.23)
    // false
    isNumberCanHavePlus(-1.23)
    // true
    
    isNumber('1')
    // true
    isNumber('+1')
    // true
    isNumber('-1')
    // true
    isNumber(1.23)
    // true
    isNumber(+1.23)
    // true
    isNumber(-1.23)
    // true
    
    isIntNumCanHavePlus(123)
    // true
    isIntNumCanHavePlus(+123)
    // true
    isIntNumCanHavePlus(-123)
    // true
    isIntNumCanHavePlus('123')
    // true
    isIntNumCanHavePlus('+123')
    // true
    isIntNumCanHavePlus('-123')
    // true
    
    isIntNum(123)
    // true
    isIntNum(+123)
    // true
    isIntNum(-123)
    // true
    isIntNum('123')
    // true
    isIntNum('+123')
    // false
    isIntNum('-123')
    // true
    
  • 相关阅读:
    Servlet的数据库访问
    Servlet 网页重定向
    Intellij idea创建javaWeb以及Servlet简单实现
    Tomcat
    QQ简易版
    单例
    centos7 jdk安装
    centos7 allure安装
    centos中执行apt-get命令提示apt-get command not found
    centos mysql使用踩过的坑
  • 原文地址:https://www.cnblogs.com/suwanbin/p/13556763.html
Copyright © 2011-2022 走看看