您的位置:首页 > 移动开发 > Android开发

Android编程EditText禁止输入空格和特殊字符例子分享

2017-05-18 16:03 471 查看
有时咱们需要限制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});
 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: