当前位置: 首页 > 面试题库 >

在Android中使EditText字段仅接受字母和空格

叶明辉
2023-03-14
问题内容

我的项目中有一个EditText字段,该字段代表该人的全名,因此我只允许在其中包含字母和空格,因此我在XML文件中尝试了以下内容

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "

但这没有用,有人可以告诉我怎么做吗?


问题答案:

试试这个:

EditText yourEditText = (EditText) findViewById(R.id.yourEditText);
yourEditText.setFilters(new InputFilter[] {
    new InputFilter() {
        @Override
        public CharSequence filter(CharSequence cs, int start,
                    int end, Spanned spanned, int dStart, int dEnd) {
            // TODO Auto-generated method stub
            if(cs.equals("")){ // for backspace
                 return cs;
            }
            if(cs.toString().matches("[a-zA-Z ]+")){
                 return cs;
            }
            return "";
        }
    }
});


 类似资料:
  • 问题内容: 我希望用户仅输入字母或空格(如果用户输入其他字符),我想给jOptionPane消息,我已经搜索过,并且尝试了以下代码 但是现在无论我输入什么都会给出错误 现在我更改了代码 现在它仅在用户输入数字时发出消息。我该如何解决 问题答案: 使用一个,这是我制作的一个示例,它将仅接受字母字符和空格:

  • 注意:下面我讨论的文本字段是一个MFXTextField,我从MaterialFX获得。 我已经搜索了很多关于如何在JavaFX中创建只接受数字的文本字段的内容。我发现了很多视频和帖子,但它们都不适合我,可能是因为它们太老了,只在过去工作过,我真的不知道。 所以,我有一个信用卡文本字段,我需要它来拒绝字母或数字以外的任何内容。这是我的文本字段: 下面是我的代码,它为常规TextField接受Tex

  • 我在firefox和internet Explorer中的有一些问题。在firefox和IE中键入字符将是数字,但文本也可以键入。在Chrome中工作完美。是否可以不使用进行修复。提前致谢

  • 问题内容: 验证输入字段具有以下要求: 它只能包含字母以及字母之间的空格。 它不能在字符串的开头或结尾包含空格。 它不能包含任何其他特殊字符。 我为此使用以下正则表达式: 但这是在开始时留有空格。任何帮助表示赞赏。 问题答案: 对我而言,唯一可行的方法是: 在字符串的开头,必须至少有一个字母。(我用Unicode代码属性替换了letter )。然后可以有一个空格,后跟至少一个字母,此部分可以重复。

  • 我创建了一个只允许数字输入的EditText。这是一个非常简单的EditText,没有什么特别之处: 我在一些设备上尝试了它,它如预期的那样工作,我只能输入数字。使用三星Galaxy Note S10时会出现问题(使用三星键盘时,我认为问题就出在这里)。使用该设备,当我聚焦EditText时,键盘会打开(只有数字可见),但当我在字段中键入内容时,什么也没有发生。我可以从键盘上按任意键(输入键、数字

  • 代码可以很好地删除数字,但我不知道该使用什么regex,所以它也可以替换标点符号(例如`,!,],[等等) 有人能帮帮我吗?