数字可以用正则表达式
日期?你要判断一个String类型的是不是日期??
还是从数据库读出的字段的类型阿?

解决方案 »

  1.   

    我要判断的是一个输入到文本框中String类型的是不是日期
      

  2.   

    //判断是否为数字
    boolean isNumeric(String number)
    {
    try
    {
    Integer.parseInt(number);
    return true;
    }
    catch(NumberFormatException sqo)
    {
    return false;
    }
    }//判断是否为日期
    String mk_date(String c_date,int c_mode)
    {
    String wk_buf= "";
    String ToDay = "";
    try
    {
    ToDay = Integer.toString(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR));
    switch(c_mode)
    {
    case 0:
    {
    wk_buf = c_date.substring(2, 4) + "/" + c_date.substring(4, 6);
    if (c_date.length() == 8)
    {
    wk_buf = wk_buf + "/" + c_date.substring(6, 8);
    }
    break;
    }
    case 1:
    {
    for (int i=0; i< c_date.length();i++)
    {
    if (c_date.substring(i, i+1) == " ")

    wk_buf = wk_buf + "0";
    }
    else
    {
    wk_buf = wk_buf + c_date.substring(i, i+1);
    }
    }
    c_date = wk_buf;
    wk_buf = "";
    if (c_date.substring(0, 1) != "0" )
    {
    wk_buf = "19";
    }
    else
    {
    wk_buf = "20";
    }wk_buf = wk_buf + c_date.substring(0, 2) + c_date.substring(3, 5);if (c_date.length() == 8)
    {
    wk_buf = wk_buf + c_date.substring(6, 8);
    }
    break;
    }
    case 2:
    {
    wk_buf = c_date.substring(0, 4) + c_date.substring(5, 7) + c_date.substring(8, 10);
    break;
    }
    case 3:
    {
    for(int i=0; i< c_date.length();i++ )
    {
    if (c_date.substring(i, i+1) == " ")
    {
    wk_buf = wk_buf + "0";
    }
    else
    {
    wk_buf = wk_buf + c_date.substring(i, i+1);
    }
    }
    c_date = wk_buf;
    wk_buf = "";
    if (Integer.parseInt(c_date.substring(0,2)) > Integer.parseInt(ToDay.substring(2, 4)))
    {
    wk_buf = Integer.toString(Integer.parseInt(ToDay.substring(0,2)) - 1);
    }
    else
    {
    wk_buf = ToDay.substring(0,2);
    }
    wk_buf = wk_buf + c_date.substring(0,2) + c_date.substring(3,5);
    if (c_date.length() == 8)
    {
    wk_buf = wk_buf + c_date.substring(6,8);
    }
    break;
    }
    case 4:
    {
    wk_buf = c_date.substring(0,4) + "/" + c_date.substring(4,6) + "/" + c_date.substring(6, 8);
    break;
    }
    case 5:
    {
    wk_buf = c_date.substring(0,4) + c_date.substring(5, 7);
    break;
    }
    }
    }
    catch(Exception e)
    {
    System.out.println("wrong : " + e);
    }
    return wk_buf;
    }
      

  3.   

    直接构造BigDecimal和Date,如果构造时产生例外就不是该种数据类型