2013-04-09 2 views
2

JTextField에 유효성 검사를 실행하여 글자 만 포함되도록하고 싶습니다. 가장 간단한 방법은 무엇입니까?문자열이 순전히 문자인지 여부를 어떻게 확인할 수 있습니까?

+1

정규 표현식. – jonny2k9

+0

['DocumentListener'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/event/DocumentListener.html) 및 ['JFormattedTextField'] (http : // docs .oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html). –

답변

4

당신은 matches를 사용할 수 있습니다

str.matches("\\p{Alpha}+") 

\p{Alpha}이 일치하는 모든 편지 (a-z 또는 A-Z), 따라서 \p{Alpha}+ 일치 문자의 연속 문자열입니다.

+0

이 유니 코드 작동합니까? – MStodd

+0

이것은 매우 간결 해 보이고 그러므로 나의 필요에 완벽합니다. "\\ p {Aplha} +"구문에 대한 자세한 내용을 어디에서 알 수 있습니까? 복사하고 붙여 넣을 수는 있지만 실제로 배울 수는 없습니다. – Mike

+0

@Mike ['Pattern'] (http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html) 클래스의 설명서에는 몇 가지 특정 정보가 들어 있지만 "정규식"에 대한 자습서를 찾고 싶습니다. – arshajii

1

이 시도 :

public boolean containsOnlyLetters(String s) 
{ 
    for(char c : s.toCharArray()) 
    { 
     if(!Character.isLetter(c)) 
      return false; 
    } 
    return true; 
} 
관련 문제