2014-03-31 42 views
0

嘿傢伙,所以我的項目用於檢查用戶輸入日期格式爲mm/dd/yyyy的作品,但現在我需要修改它,以便它拒絕任何不是數字的東西。例如,如果我輸入12/5/abcd或aa/12/2014,它應該會返回一個錯誤。目前,如果我在程序中輸入一個字符或多個字母,它會給出一個錯誤,說「你應該只輸入有效的整數」。我使用分隔符「/」來分隔月份和日期,\ r或在年底輸入/返回以完成用戶輸入。Java - 如何只接受日期輸入整數?

+1

好的。你嘗試過什麼嗎? –

+0

到目前爲止你做了什麼?正則表達式? –

回答

0

簡單地說,如果一個條件,對於DD檢查整數實例,毫米和YY。像

if(x instanceof Integer){ 
     ... 
} 
0

在我看來,使用Java正則表達式使用正則表達式如下驗證輸入的日期。

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

0

如果你只關心數字與非數字,你可以用一個簡單的正則表達式驗證。

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. 
    } 
} 
0

您可以使用以下日期。

SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy"); 

    boolean isValidDate(string input) { 
     try { 
       format.parse(input); 
       return true; 
     } 
     catch(ParseException e){ 
       return false; 
     } 
    }