Foros del Web » Programación para mayores de 30 ;) » Java »

Error de Validacion de caracteres AlfaNumericos

Estas en el tema de Error de Validacion de caracteres AlfaNumericos en el foro de Java en Foros del Web. Hola a todos buenas tardes, vengo a contarles que no puedo validar un String que paso como parámetro, por ejemplo colocando un "holamundo" o "holamundo568" ...
  #1 (permalink)  
Antiguo 13/06/2016, 09:57
 
Fecha de Ingreso: abril-2016
Mensajes: 16
Antigüedad: 8 años
Puntos: 0
Error de Validacion de caracteres AlfaNumericos

Hola a todos buenas tardes, vengo a contarles que no puedo validar un String que paso como parámetro, por ejemplo colocando un "holamundo" o "holamundo568" siempre de devuelve TRUE, es decir que no distingue entre solo letras y, letras y números. Aquí les paso el código, desde ya muchas gracias!


pd:Ya probé con "[\\w]*" y es lo mismo

Código:
public boolean isNumeric(String string) {
		
	    boolean valor = true;
	    
	    String condicion = "[A-Za-z0-9_]";
		Pattern patron = Pattern.compile(condicion);
		Matcher emparejador = patron.matcher(string);
		emparejador.find();
		
		if (emparejador.find() == true){
			
			return valor;
			
		}else if (emparejador.find() == false) {
			
			valor = false;
			
			
		}
		
		return valor;
	
	}
  #2 (permalink)  
Antiguo 13/06/2016, 12:43
Avatar de DanX03  
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Error de Validacion de caracteres AlfaNumericos

Si lo que deseas es que solo valide que la cadena de texto sean solo letras lo que debes de hacer es quitar de la variable condicion los valores numericos, o si deseas que solo sean numeros quitar la referencia de las letras, ya que como lo estas colocando solo te devolvera false cuando en la cadena de texto se incluya algun caracter especial (()[]{}+*/-).
  #3 (permalink)  
Antiguo 13/06/2016, 13:29
 
Fecha de Ingreso: abril-2016
Mensajes: 16
Antigüedad: 8 años
Puntos: 0
Respuesta: Error de Validacion de caracteres AlfaNumericos

Hola DanX03, gracias por tu respuesta, en realidad la condicion era que mientras escribiera algún numero con letras me diera el error y me devolviera true, ahora la pregunta es, el método find,devuelve True mientras se corresponda la condición no?Por otro lado lo que vos me decis es que simplemente cambie la condición por "[A-Z]"(Ya que deseo que solo sean letras). O tengo que hacer otra modificación en la condición True-False.Desde ya gracias!
  #4 (permalink)  
Antiguo 13/06/2016, 14:44
Avatar de DanX03  
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Error de Validacion de caracteres AlfaNumericos

Prueba cambiando la condicion a que solo te acepte letras ([A-Za-z]), que es lo que realmente deseas
  #5 (permalink)  
Antiguo 14/06/2016, 07:06
 
Fecha de Ingreso: abril-2016
Mensajes: 16
Antigüedad: 8 años
Puntos: 0
Respuesta: Error de Validacion de caracteres AlfaNumericos

Hola DanX03, no me funciona para los caracteres alfa numéricos, es decir, si coloco solo números en el string, me retorna FALSE ya que no estoy cumpliendo la condición que sea estrictamente LETRAS, y ahi funciona correctamente, pero cuando coloco numero y letras juntos en vez de retornarme false como deberia ser porque no queiro caracteres alfa numericos me retorna TRUE, intente con una negacion pero no me hace caso, te paso el codigo. Muchas gracias!


Código:
public boolean isNumeric(String string) {
		
	    boolean valor = true;
	    
	    String condicion = "[A-Za-z]";
		Pattern patron = Pattern.compile(condicion);
		Matcher emparejador = patron.matcher(string);
		emparejador.find();
		
		if (emparejador.find() == true){
			
			return valor;
			
		}else if (emparejador.find() == false) {
			
			valor = false;
			
			
		}
		
		return valor;
	
	}
Y este es como probé con la negación de los digiitos alfanuméricos, pero sigue en el mismo estado, me rechaza todo.

Código:
public boolean isNumeric(String string) {
		
	    boolean valor = true;
	    
	    String condicion = "[A-Za-z][^a-zA-Z0-9]";
		Pattern patron = Pattern.compile(condicion);
		Matcher emparejador = patron.matcher(string);
		emparejador.find();
		
		if (emparejador.find() == true){
			
			return valor;
			
		}else if (emparejador.find() == false) {
			
			valor = false;
			
			
		}
		
		return valor;
	
	}

Etiquetas: caracteres, string, validacion, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:28.