为我的英语不好而道歉,我正在使用Google翻译。
我正在创建一个 Activity ,用户必须在其中创建一个新的配置文件。
我限制编辑文本的长度为15个字符,并且如果新的配置文件名称包含空格或特殊字符,请显示警告。作为在线视频游戏
以下代码可帮助我检测空格,但不能检测特殊字符。
我需要帮助来识别特殊字符并显示警告。
@Override
public void onClick(View v) {
//Convertimos el contenido en la caja de texto en un String
String nombre = nombreUsuario.getText().toString();
//Si el tamaño 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
}
}
}
对于允许a-z,A-Z,0-9,请使用
"[a-zA-Z0-9.? ]*"
关于android - 如何在编辑文本中检测特殊字符并显示Toast作为响应(Android)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16160989/