定义的函数: isNumeric(String) 是判断数字的,包括小数
支持格式:
"33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
isInteger(String) 仅是用来判断整数的
支持格式:
"33" "003300" "+33" " -0000 "

上面两函数分别各有两种方法可以实现
一、一个个字符判断下去(效率高些)
下面的 iisNumeric(String)isInteger(String)
二、利用异常:用Integer.parseInt(str)Double.parseDouble(str)解析字符串,若非数字则抛出异常
下面的 isNumericEx(String)isIntegerEx(String)--其中isIntegerEx(String)最多支持到十位
package hartech;
/**
  * @author
  * @version 1.0
  */
public class JMath {

    /**
      * support Numeric format:<br>
      * "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
      * @param str String
      * @return boolean
      */
    public static boolean isNumeric(String str) {
        int begin = 0;
        boolean once = true;
        if (str == null || im().equals("")) {
            return false;
        }
        str = im();
        if (str.startsWith("+") || str.startsWith("-")) {
            if (str.length() == 1) {
                // "+" "-"
                return false;
            }
            begin = 1;
        }
        for (int i = begin; i < str.length(); i++) {
            if (!Character.isDigit(str.charAt(i))) {
                if (str.charAt(i) == '.' && once) {
                    // '.' can only once
                    once = false;
                }
                else {
                    return false;
                }
            }
        }
        if (str.length() == (begin + 1) && !once) {
            // "." "+." "-."
            return false;
        }
        return true;
    }
    /**
      * support Integer format:<br>
      * "33" "003300" "+33" " -0000 "
      * @param str String
      * @return boolean
      */
    public static boolean isInteger(String str) {
        int begin = 0;
        if (str == null || im().equals("")) {
            return false;
        }
        str = im();
        if (str.startsWith("+") || str.startsWith("-")) {
            if (str.length() == 1) {
                // "+" "-"
时间正则表达式java
                return false;
            }
            begin = 1;
        }
        for (int i = begin; i < str.length(); i++) {
            if (!Character.isDigit(str.charAt(i))) {
                return false;
            }
        }
        return true;
    }

    /**
      * use Exception
      * support Numeric format:<br>
      * "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
      * @param str String
      * @return boolean
      */
    public static boolean isNumericEx(String str) {
        try {
            Double.parseDouble(str);
            return true;
        }
        catch (NumberFormatException ex) {
            return false;
        }
    }
    /**
      * use Exception
      * support less than 11 digits(<11)<br>
      * support Integer format:<br>
      * "33" "003300" "+33" " -0000 " "+ 000"
      * @param str String
      * @return boolean
      */
    public static boolean isIntegerEx(String str) {
        str = im();
        try {
            Integer.parseInt(str);
            return true;
        }
        catch (NumberFormatException ex) {
            if (str.startsWith("+")) {
                return isIntegerEx(str.substring(1));
            }
            return false;
        }
    }
}

------------------------------------正则表达式判断法------------------------------
//判断是否是整数
public static boolean isNumeric(String s)
{
  if((s != null)&&(s!=""))
    return s.matches("^[0-9]*$");
  else
    return false;
}
/
/判断传递来的是否是数字
public static int checkID(String s)
{
  if((s == null)||(s.length() == 0)||!s.matches("^[0-9]*$"))
  {
    return 0;
  }
  else
  {
    if(s.length() < 10)
    {
    return Integer.parseInt(s);
      }
      else
      {
        return 0;
      }
  }
}
//判断传递来的是否是字符串
  public static String checkString(String s)
{
  if((s == null)||(s.length() == 0)||s.matches("^[0-9]*$"))
  {
    return "";
  }
  else
  {
    return s;   
  }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。