我想讓用戶只能根據我的android應用程序中的正則表達式鍵入某些字符。我如何實現它?只允許基於EditText中的正則表達式選擇字符
4
A
回答
9
作爲@Matt Ball建議使用TextWatcher
。
@Override
public void afterTextChanged(Editable s) {
String text = s.toString();
int length = text.length();
if(length > 0 && !Pattern.matches(PATTERN, text)) {
s.delete(length - 1, length);
}
}
編輯 雖然TextWatcher
作品,這將是清潔劑使用InputFilter
。檢查這example。
+0
這幫助了我很多,謝謝我剛剛遇到問題,當用戶刪除了一個字符,並且它沒有進入PATTERN崩潰因爲一個越界,所以你可以使用它(對我的應用程序進行一些修改)如果(text.length()> 0),則返回int length = text.length();如果(!getPattern()。equals(「」))if(!Pattern.matches(getPattern(),text)){sdkf } } } – magorich 2016-01-19 01:18:08
0
試試這個:如果要輸入的字符匹配/ [a-zA-Z0-9 {在這裏插入有效的字符} /然後允許,否則不要。
相關問題
- 1. 正則表達式只允許字符
- 2. 正則表達式屬性,只允許字母數字字符
- 3. 只允許某些非字母字符在正則表達式
- 4. Java正則表達式 - 只允許某些字符和數字
- 5. 只允許一個字母字符 - 正則表達式
- 6. 只允許首字母大寫字符串(正則表達式)
- 7. 只允許字符或空格的正則表達式
- 8. PHP的正則表達式只允許兩個字符
- 9. 只允許一組字符的正則表達式
- 10. 正則表達式只允許一組特定的字符(Javascript)?
- 11. 正則表達式只允許負數
- 12. 正則表達式只允許在
- 13. jQuery正則表達式只允許貨幣符號和數字
- 14. PHP - 正則表達式只允許數字和符號
- 15. 正則表達式限制特殊字符,只允許DOT和&
- 16. 正則表達式:允許一些選定的字符
- 17. 正則表達式只允許字符串,但不允許單詞「測試」
- 18. 允許正則表達式
- 19. 只允許字母和正斜槓的正則表達式
- 20. 正則表達式只允許在WPF 2010中的數字和「 - 」
- 21. 正則表達式只允許字母,空格和 - 只有
- 22. 正則表達式,僅允許數字
- 23. 正則表達式 - 允許數字,隻字R,N,X,B,@
- 24. 正則表達式只允許字母數字
- 25. 正則表達式只允許字母和數字
- 26. 正則表達式允許只有數字和數字
- 27. 正則表達式來檢查允許的字符在Java中
- 28. JavaScript中不允許非英文字符的正則表達式
- 29. 允許中文字符的正則表達式
- 30. 允許並防止正則表達式中的某些字符?
[Android:我怎樣才能驗證EditText輸入?](http://stackoverflow.com/questions/2763022/android-how-can-i-validate-edittext-input)。另見[這個問題](http://stackoverflow.com/questions/1151664)。 – 2010-11-15 01:37:12
謝謝@Matt Ball – 2010-11-15 04:04:08
基於正則表達式?你的意思只是允許的字符列表嗎?這不是一個正則表達式。 – Falmarri 2010-11-15 16:00:27