如何检测编辑文本中的特殊字符并显示 Toast 作为响应(Android)?

时间:2023-03-25
本文介绍了如何检测编辑文本中的特殊字符并显示 Toast 作为响应(Android)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

抱歉我的英语不好,我正在使用谷歌翻译.

An apology for my bad English, I'm using google translate.

我正在创建一个用户必须在其中创建新个人资料的活动.我限制编辑 15 个字符的文本,如果新的配置文件名称包含空格或特殊字符,我希望显示警告.作为在线视频游戏

I'm creating an activity in which users must create a new profile. I put a limit to edit text of 15 characters and I want that if the new profile name has spaces or special characters display a warning. As online video games

以下代码可以帮助我检测空格,但不能检测特殊字符.

The following code helps me to detect spaces, but not special characters.

我需要帮助来识别特殊字符并显示警告作为响应.

I need help to identify special characters and display a warning in response.

@Override
public void onClick(View v) {
    //Convertimos el contenido en la caja de texto en un String
    String nombre = nombreUsuario.getText().toString();

    //Si el tamao del String es igual a 0, que es es lo mismo que dijeramos "Si esta vacio"
    if (nombre.length() == 0) {
        //Creamos el aviso
        Toast aviso = Toast.makeText(getApplicationContext(), "Por favor introduce un nombre de Usuario", Toast.LENGTH_LONG);
        aviso.show();

    } else if (nombre.contains(" ") | nombre.contains("\W")) {
        Toast aviso = Toast.makeText(getApplicationContext(), "No son permitidos los espacios ni los caracteres especiales", Toast.LENGTH_LONG);
        aviso.show();
    } else {
        nombre = nombreUsuario.getText().toString();
        //Conectamos con la base de datos
        //Creamos un bojeto y lo iniciamos con new
        Plantilla entrada = new Plantilla(CrearUsuarioActivity.this);
        entrada.abrir();

        //creamos un metodo para escribir en la base de datos (crear entradas)
        entrada.crearEntrada(nombre);
        entrada.cerrar();
    }
}

推荐答案

你可以使用:

string.matches("[a-zA-Z.? ]*")

如果字符串中的每个字符都是小写字母 a-z、大写字母 A-Z、句点、问号或空格,则计算结果为 true.

喜欢:

public void Click(View v) {
        if (v.getId() == R.id.button1) {
            String nombre = textMessage.getText().toString();
            if (nombre.length() == 0) {

                // Creamos el aviso
                Toast aviso = Toast.makeText(getApplicationContext(),
                        "Por favor introduce un nombre de Usuario",
                        Toast.LENGTH_LONG);
                aviso.show();

            } else if (!nombre.matches("[a-zA-Z.? ]*")) {
                Toast aviso = Toast
                        .makeText(
                                getApplicationContext(),
                                "No son permitidos los espacios ni los caracteres especiales",
                                Toast.LENGTH_LONG);
                aviso.show();

            } else {

                // Do what ever you want
            }

        }
    }

这篇关于如何检测编辑文本中的特殊字符并显示 Toast 作为响应(Android)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:Android EditText 在其可绘制对象和文本之间绘制分隔线 下一篇:EditText 的子类看起来与 Android 4 上的普通 EditText 不同

相关文章