今天要给大家分享的是Android编程EditText禁止输入空格和特殊字符例子,有一定的参考价值,有兴趣的朋友快来详细了解一下吧。

有时咱们需要限制EditText输入的字符类型,比如空格,特殊字符等,这时我们可以使用系统提供的输入过滤器—InputFilter。具体实现代码如下:

/**

* 禁止EditText输入空格

* @param editText

*/

public static void setEditTextInhibitInputSpace(EditText editText){

InputFilter filter=new InputFilter() {

@Override

public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

if(source.equals(" ")return "";

else return null;

}

};

editText.setFilters(new InputFilter[]{filter});

}

/**

* 禁止EditText输入特殊字符

* @param editText

*/

public static void setEditTextInhibitInputSpeChat(EditText editText){

InputFilter filter=new InputFilter() {

@Override

public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

String speChat="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]";

Pattern pattern = Pattern.compile(speChat);

Matcher matcher = pattern.matcher(source.toString());

if(matcher.find())return "";

else return null;

}

};

editText.setFilters(new InputFilter[]{filter});

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐