zoukankan      html  css  js  c++  java
  • js 正则验证数字(整数,货币型,浮点型)

    本文章提供一款js 正则验证数字(判断是否为数字)哦,他可以验正整数,货币型,浮点型数据哦,也很好的验证了js判断是不是数字的代码哦。
     
     

    货币型

    function isvaliddecimal(chars) {//是否货币

                var hb = $(chars).val();

                var re = /^d+(?:.d{0,2})?$/;

                if (hb.match(re) == null){

                 $(chars).val("");

                    alert("工资类型输入错误");

                }

            }

    function isvaliddecimal( chars ) {
     var re=/^d*.?d{1,2}$/;
     if (chars.match(re) == null)
      return false;
     else
      return true;
    }

    是否为数字 整数

    function isnumber( chars ) {
     var re=/^d*$/;
     if (chars.match(re) == null)
      return false;
     else
      return true;
    }

    浮点型数据

    function isfloat( str ) {
     for(i=0;i<str.length;i++)  {
        if ((str.charat(i)<"0" || str.charat(i)>"9")&& str.charat(i) != '.'){
       return false;
        }
     }
     return true;
    }

    第一种方法 isNaN

    isNaN  返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
      NaN 即 Not a Number
      isNaN(numValue)

    但是如果numValue果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

    第二种方法 正则表达式

    function checkRate(input) {
      var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/
      var nubmer = document.getElementById(input).value;

      if (!re.test(nubmer)) {
        alert("请输入数字");
        document.getElementById(input).value = "";
        return false;
      }
    }

    第三种方法 利用parseFloat的返回值

    /*----0313-------------验证数据 是数字:返回true;不是数字:返回false--------工具方法,不含有业务逻辑---------------------*/
    function isNotANumber(inputData) {
      //isNaN(inputData)不能判断空串或一个空格
      //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
      if (parseFloat(inputData).toString() == "NaN") {
        //alert("请输入数字……");注掉,放到调用时,由调用者弹出提示。
        return false;
      } else {
        return true;
      }
    }
    /*--End--0313-------------验证数据 是数字:返回true;不是数字:返回false---------------------------------*/

  • 相关阅读:
    POJ1028 Web Navigation【堆栈+模拟】
    UVa10276 HDU1329 ZOJ1239 Hanoi Tower Troubles Again!【递推函数+打表】
    UVALive5369 UVa732 HDU1515 ZOJ1004 Anagrams by Stack【DFS+堆栈】
    HDU5776 sum【前缀和+模除】
    POJ1844 Sum【水题+数学题】
    AOJ0558 Cheese【BFS】
    POJ3009 Curling 2.0【DFS】
    HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】
    HDU1210 Eddy's 洗牌问题【递推函数+模拟】
    Vijos P1571 笨笨的导弹攻击【最长上升子序列+DP】
  • 原文地址:https://www.cnblogs.com/wybshyy/p/13783781.html
Copyright © 2011-2022 走看看