프로그래밍/Android

EditText 특수문자 입력 제한

chance 2012. 9. 10. 15:35

 

특수 문자 입력 제한.

 

// 와처 등록

EditText ed = (EditText) find...;

ed.addTextChangedListener( watcher );

 

// 와처 정의

TextWatcher warcher = new TextWatcher() {

   String text;

 

   // 텍스트 변경시 특수문자 여부 검사

   public void afterTextChanged(Editable arg0) {

      int length = arg0.toString().length();

      if( length > 0 ) {

        Pattern ps = Pattern.compile("^[a-zA-Z0-9]+$");

        if( !ps.matcher(arg0).marches() ) {

           ed.setText(text);

           ed.setSelection(ted.length());

        }

     }

   }

 

   public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

      text = arg0.toString();

   }

 

   public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

   }

};