2016-09-15 3 views
2

Edittext에서 특정 문자를 허용하고 다른 모든 문자를 차단하고 싶습니다. 나는 인터넷을 검색하여 해결책을 찾지 못했습니다. 내가 알아 낸 것은 특정 문자를 차단하는 방법 이었지만 내 경우에는 특정 문자를 허용하고 다른 모든 문자를 차단하려고했습니다. 예를 들어 edittext에서 허용하려는 문자는 A-Z, 0-9 및 쉼표, 점 및 밑줄 (_)입니다. 누군가가 저에게 어떻게하는지 또는 저를 올바른 링크로 안내 할 수있는 예를 들어 줄 수 있다면 매우 감사 할 것입니다. 감사합니다. 특정 문자를 허용하는EditText에서 특정 문자를 허용하고 다른 모든 문자를 차단합니다. Android

+0

TextChangedListener (http://stackoverflow.com/questions를 사용하는 것입니다/3349121/how-do-i-use-input-limit-in-an-edittext-in-android) –

+0

신청서가 영어로만 제공되므로 다른 지역화를 다루지 않아도됩니다. 입력을 US-ASCII로 제한하는 것이 항상 가장 좋은 방법은 아닙니다. – Diti

답변

2

한 가지 방법은이 질문은 이미 입력 필터 섹션에 답이.이보기] 한 Pattern

final Pattern pAlpha = Pattern.compile("[0-9a-zA-Z,._]+"); 
yourEditText.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) {} 

    @Override 
    public void afterTextChanged(Editable s) { 
    if (pAlpha.matcher(yourEditText.getText()).matches()) { 
     // you allowed it 
    } else { 
     // you don't allow it 
    } 

} 
}); 
+2

다른 사람들이 내 게시물을 부정적인 것으로 표시하는 동안. 당신은 저에게 가장 좋은 해결책을 제공해주었습니다! 고마워요! –

관련 문제