2014-03-04 50 views
-1

我是新來正規表達式,並試圖編寫一個程序,看看用戶是否輸入在有效範圍內(在13至16和所有數字範圍內)的信用卡號碼。以下是我寫的Java代碼,我的正則表達式並不考慮我的需要。正則表達式來檢查信用卡號

//Credit card number 1234567891234567 matched against regex 
boolean b = Pattern.matches("4\ d{ 12} (\ d{ 3})?", "1234567891234567"); 
if(b==true) 
{ 
     System.out.println("credit card is valid"); 
} 
else 
{ 
     System.out.println("credit card is not valid"); 
} 
+2

究竟是什麼要求? – Steve

+2

你的正則表達式模式中的所有空格肯定是一個問題。 – MElliott

+0

不要忘記校驗位。只需通過正則表達式檢查長度就不會使其成爲有效的cc數字。 – Zavior

回答

3

這很簡單。這是你的正則表達式:

"\\d{13,16}"