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}); }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!