Android EditText禁止输入空格和特殊字符
有时候我们需要限制EditText输入的字符类型,如空格,特殊字符等,这时候我们可以使用系统提供的输入过滤器——InputFilter。具体实现如下:
/**
*禁止EditText输入空格
*@parameditText
*/
publicstaticvoidsetEditTextInhibitInputSpace(EditTexteditText){
InputFilterfilter=newInputFilter(){
@Override
publicCharSequencefilter(CharSequencesource,intstart,intend,Spanneddest,intdstart,intdend){
if(source.equals("")return"";
elsereturnnull;
}
};
editText.setFilters(newInputFilter[]{filter});
}
/**
*禁止EditText输入特殊字符
*@parameditText
*/
publicstaticvoidsetEditTextInhibitInputSpeChat(EditTexteditText){
InputFilterfilter=newInputFilter(){
@Override
publicCharSequencefilter(CharSequencesource,intstart,intend,Spanneddest,intdstart,intdend){
StringspeChat="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]";
Patternpattern=Pattern.compile(speChat);
Matchermatcher=pattern.matcher(source.toString());
if(matcher.find())return"";
elsereturnnull;
}
};
editText.setFilters(newInputFilter[]{filter});
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!