Java - 如何在日期输入时仅接受整数



嘿伙计们,所以我以 mm/dd/yyyy 格式检查用户输入日期的项目有效,但现在我需要修改它,以便它拒绝任何数字以外的内容。例如,如果我输入 12/5/abcd 或 aa/12/2014,它应该会给我一个错误。目前,如果我在程序中输入字符或字母,它会给出一个错误,说"您应该只输入有效的整数"。我正在使用"/"的分隔符来分隔月份和日期,并在年底使用 \r 或输入/返回以完成用户输入。

只有整数检查不起作用(假设有人输入了30-02-2013

您需要专门验证日期,您应该将SimpleDateFormatsetLenient(false)一起使用

在我看来,使用 Java 正则表达式来验证下面的正则表达式的输入日期。

([0-9]{2})\([0-9]{2})\([0-9]{4})

如果您只关心数字与非数字,则可以使用简单的正则表达式进行验证。

import java.util.regex.*;

public class A{
    public static void main(String[] args) {
        String original =  "12/24/1014";
        Pattern mypattern = Pattern.compile("\d{2}/\d{2}/\d{4}");
        System.out.println(mypattern.matcher(original).matches());
        // If not true, throw error.
    }
}

您可以使用下面的日期。

SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy");
    boolean isValidDate(string input) {
         try {
              format.parse(input);
              return true;
         }
         catch(ParseException e){
              return false;
         }
    }

只需放置一个 if 条件即可检查 dd、mm 和 yy 上的整数实例。喜欢

if(x instanceof Integer){
         ...
}

相关内容

  • 没有找到相关文章

最新更新