EditText 값에 영어와 숫자만 입력받게하는 프로그램을 짜고 있습니다.

특수문자는 물론, 공백 한글 전부 싸그리 무시해주고싶어 Pattern.matches를 찾았습니다.

그러나 아랫 로직(자바 정규 표현식사용)처럼 구현하면 오류가 납니다.

str자리에 CharSequence를 사용한다는데.. 제가 무엇이 잘못되었고 어떻게 활용해야 효율적인지 알고 싶습니다.

 

:: 로직

String str = "abcd";

boolean chk = Pattern.matches("^[a-ZA-Z0-9]+$", str); //Java 정규 표현식

 

if(chk)

   Log.d

else

   Log.d

 

 

:: 에러

java.util.regex.PatternSyntaxException: Illegal character range near index 4

 

 

해결했습니다. 구문 오류 -_- 비로모글

 

*추신

 

Button눌렸을 때 특문, 한글, 빈칸 검사하는 방법!

(Java 정규 표현식을 공부해야 합니다)

 

EditText ed;

String str = ed.getText().toString(); // 텍스트 가져오기

chk= Pattern.matches("^[a-zA-Z0-9]+$", str); // true와 false 반환

 

if(chk)

  Log.d("tag", "영어와 숫자입니다");

else

  Log.d("tag", "잘못된 입력입니다");