如何限制Android EditText字段中的特殊字符?

如何限制Android EditText字段中的特殊字符?

Solutions Collecting From Web of "如何限制Android EditText字段中的特殊字符?"

你有没有尝试添加android:digits="abcde.....0123456789"属性? 尽pipeandroid:digits指定它是一个数字字段,但它确实可以让我把它设置为接受字母以及特殊字符(在SDK-7上testing)。

如果这不起作用,那么你将不得不实现KeyListener请参阅: http : //developer.android.com/reference/android/widget/TextView.html#setKeyListener( KeyListener

只需将EditText对象传递给此方法。 还要在variablesblockCharacterSet中添加要阻止的值。

 private void disableSpecialChar(EditText editText) { final String blockCharacterSet = "<>"; InputFilter filter = new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { if (source != null && blockCharacterSet.contains(("" + source))) { return ""; } return null; } }; editText.setFilters(new InputFilter[] { filter }); } 

我已经在我的答案中解决了这个问题: 防止EditText中的特殊符号 。 您可以根据您的要求更改正则expression式。