edittext 禁止輸入非法字元和空格,用到輸入過濾器InputFilter
阿新 • • 發佈:2018-12-27
一般在我們初始化的時候,給需要限制的edittext直接設定
//禁止輸入空格 setEditTextInhibitInputSpeChat(et_nickname); //禁止輸入空格 private void setEditTextInhibitInputSpeChat(EditText et_names) { 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; } }; et_names.setFilters(new InputFilter[]{filter}); } //禁止輸入字元 setEditTextInhibitInputSpeChats(et_username); //禁止新增非法字元 private void setEditTextInhibitInputSpeChats(EditText et_name) { InputFilter filter=new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { String speChat="[`
[email protected]#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; Pattern pattern = Pattern.compile(speChat); Matcher matcher = pattern.matcher(source.toString()); if(matcher.find()) return ""; else return null; } }; et_name.setFilters(new InputFilter[]{filter}); }