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});
 }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Android如何禁止向EditText控件中输入内容详解

    前言 在Android开发中经常会遇到EditText控件,而在App开发过程中.遇到了这样一个问题.那就是Android EditText控件如何禁止往里面输入内容? 最开始找到修改版解决方法.但是当想输入的时候就有问题了.可以参考一下.但不建议这样写 EditText editText = (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了.EditText的功能不就是

  • Android中EditText禁止输入表情的实例代码

    最近在做的项目中用户编辑资料的时候不希望用户输入表情,如果用户输入表情的话上传给后台要报错,所以需要我们前端做一个判断.下面就来说一下怎么在EditText中屏蔽表情吧. 网上有很多这样的列子但是一不小心就会掉进坑里面,比如继承EditText,重写addTextChangedListener()方法.可能当时你测试的时候没有什么问题,但是项目上线后就会有很多问题,错误率很高,但是查看友盟后台的时候好像是截取字符串长度方面的错误.所以建议大家不要使用那个方法了. 因为上面的方法不行,肯定要想其他

  • Android实现EditText控件禁止输入内容的方法(附测试demo)

    本文实例讲述了Android实现EditText控件禁止输入内容的方法.分享给大家供大家参考,具体如下: 问题: android如何实现EditText控件禁止往里面输入内容? 修改版解决方法: EditText editText = (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗? 再者,如果真要禁止输入文本,在布局文件中

  • android同时控制EditText输入字符个数和禁止特殊字符输入的方法

    本文实例讲述了android同时控制EditText输入字符个数和禁止特殊字符输入的方法.分享给大家供大家参考.具体分析如下: 这里总结了三种方法如下: 方法一: 1. 引用两个命名空间: import android.text.TextWatcher; import android.text.Editable; 用于禁止特殊字符输入控制 定义EditText mEditText对象 2. 控制字符长度: 通过InputFilter过滤来实现字符长度控制,这样的好处是可以实现动态长度控制,而不是

  • Android之EditText控制禁止输入空格和回车

    1.EdiTtext输入框控制不能输入空格,给EditText添加一个addTextChangedListener监听,如果有空格split截取截取再for循环将截取后不包含空格的字符串数组重新排列这样这个字符串就不包含空格了,最后将这个字符串重新写入EditText,这时会出现一个问题就是光标会自动跳转到第一个位置,在onTextChanged中会有一个叫做start的变量他会传入在这个空格输入之前的光标位置,EditText.setSelection(int)来改变光标的位置具体位置. 具体

  • Android EditText禁止输入空格和特殊字符

    有时候我们需要限制EditText输入的字符类型,如空格,特殊字符等,这时候我们可以使用系统提供的输入过滤器--InputFilter.具体实现如下: /** * 禁止EditText输入空格 * @param editText */ public static void setEditTextInhibitInputSpace(EditText editText){ InputFilter filter=new InputFilter() { @Override public CharSequ

  • Android EditText追加空格、限制字符等方法示例

    前言 使用输入框时产品常常会有一些需求,比如123456789变成123-456-789或者限制一些字符的输入等等.很多时候都是网上搜索就完事了,但是每次都去搜索有点浪费时间,而且有些也不符合需求.所以自己写一篇,以后就可以吃老本了.

  • Android开发EditText禁止输入监听及InputFilter字符过滤

    目录 监听事件 InputFilter 监听事件 setOnEditorActionListener:软键盘回车监听事件 testEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { Log.e("TAG", "on

  • PHP使用trim函数去除字符串左右空格及特殊字符实例

    本文实例讲述了PHP使用trim函数去除字符串左右空格及特殊字符的方法.分享给大家供大家参考,具体如下: PHP中trim()函数定义如下: trim(string,charlist) 参数说明如下: string 必需.规定要检查的字符串. charlist 可选.规定从字符串中删除哪些字符.如果被省略,则移除以下所有字符: "\0" - NULL "\t" - 制表符 "\n" - 换行 "\x0B" - 垂直制表符 &q

  • Android EditText密码的隐藏和显示功能

    Android EditText密码的隐藏和显示功能 实现效果图: 实现代码: 首先在xml里创建两个控件 EditText和CheckBox 然后就很简单了 dt1=(EditText)findViewById(R.id.password); cb1=(CheckBox)findViewById(R.id.checkbox_1); cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public vo

  • Android EditText常用属性功能汇总

    本文总结分析了Android EditText常用属性.分享给大家供大家参考,具体如下: android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行. android:password="true"//设

  • PHP中ltrim与rtrim去除左右空格及特殊字符实例

    本文实例分析了PHP中ltrim与rtrim去除左右空格及特殊字符的用法.分享给大家供大家参考,具体如下: 一.PHP中ltrim定义如下: ltrim(string,charlist) 参数说明: string 必需.规定要检查的字符串. charlist 可选.规定从字符串中删除哪些字符.如果省略该参数,则移除下列所有字符: "\0" - NULL "\t" - 制表符 "\n" - 换行 "\x0B" - 垂直制表符 &

  • Android EditText限制输入字符类型的方法总结

    Android EditText限制输入字符类型的方法总结 前言: 最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中 Android:inputType="textPassword" 在java文件中,可以用 myEditText.setInputType(InputType.TY

  • Android EditText限制输入字数的方法

    本文实例讲述了Android EditText限制输入字数的方法.分享给大家供大家参考,具体如下: //新浪微博字数限制 private static final int WEIBO_CONTENT_LENGTH_LIMITED = 140; //添加微博内容edittext mInputEditText.addTextChangedListener(mTextWatcher); private TextWatcher mTextWatcher = new TextWatcher() { pri

随机推荐