2014-01-16 1 views
0

:검사는 'DDD-DD-DDDD'질문은

  • 는 정적 메서드 boolean isValidNumber(String aNumber)를 추가합니다. '-'a 문자 에 대한 - 숫자가 모든 템플릿에서 'D'템플릿 'ddd를-DD-DDDD', 준수 여부를

  • 검사는 숫자를 의미하고 ''.

아무에게도 어떻게 할 수 있습니까?

+5

힌트 : 당신은 regexps '에 사용할 수 있습니다. – devnull

+1

'-'가 있으면 숫자가 아닙니다. –

답변

1

Stringmatches 메서드를 사용하면 일반 표현식 String과 비교하면됩니다.

return aNumber.matches("\\d\\d\\d-\\d\\d-\\d\\d\\d\\d"); 
+0

패턴을 "\\ d {3} - \\ d {2} - \\ d {4}"로 단순화 할 수 있습니다. –

+0

패턴을 줄이면, 간단하게 말하지는 않을 것입니다 - 특히 정규 표현식 OP가 좋아하는 것 같습니다. –

1

확인이 아웃 :

public static boolean isValidNumber(String aNumber) { 
    if (aNumber.matches("\\d{3}-\\d{2}-\\d{4}")) { 
     // Match found 
     return true; 
    } 
    // Not a valid number 
    return false; 
} 
+0

@Bhushan : 게시물을 수정했습니다. 감사합니다 :-) –

1

public boolean isValidNumber(String aNumber){ 
    return aNumber.matches("\\d{3}-\\d{2}-\\d{4}") 
} 
1

좋아하니는 특정 순서이 확실히 도움이

^[0-9]{3}\-[0-9]{2}\-[0-9]{4}$ 

이 정규 표현식을보십시오.

public class Sample 
{ 

     public static void main(String ar[]) 
{ 
     String aNumber= "254-58-3698"; 
     isValidNumber(aNumber); 

} 

public static Boolean isValidNumber(String aNumber) 
{ 


     String pattern = "^[0-9]{3}\\-[0-9]{2}\\-[0-9]{4}$"; 

     // Create a Pattern object 
     Pattern r = Pattern.compile(pattern); 

     // Now create matcher object. 
     Matcher m = r.matcher(line); 
     if (m.find()) { 
     System.out.println("Number has Matched"); 
return true;  
     } else { 
     System.out.println("NO MATCH"); 
return false; 
     } 

} 
} 

출력 :

Number has Matched 
+0

나는 내 로컬 시스템에서 시도하고 여기에 대답을 주었다. 내가 제공 한 코드가 당신의 요구 사항을 절대적으로 만족시킨다. – Raj

1

이 방법을 많이 호출하는 경우 당신은 사전 구축 된 패턴을 사용할 수 있습니다.

static final Pattern DDD_DD_DDD = Pattern.compile("\\d{3}-\\d{2}-\\d{4}"); 

public static boolean isDDD_DD_DDDD(String text) { 
    return DDD_DD_DDD.matcher(text).matches(); 
} 

public static void main(String... ignored) { 
    for(String text: "Hello, 123-45-6789, 111-22-3333, 11-222-3333".split(", ")) { 
     System.out.println(text+" is valid: "+isDDD_DD_DDDD(text)); 
    } 
} 

인쇄

Hello is valid: false 
123-45-6789 is valid: true 
111-22-3333 is valid: true 
11-222-3333 is valid: false