Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Validar que entrada sea número de 5 digitos (http://www.forosdelweb.com/f45/validar-que-entrada-sea-numero-5-digitos-485301/)

DANIEL M 26/04/2007 22:44

Validar que entrada sea número de 5 digitos
 
Hola, saludos. Estoy tratando de hacer una validacion para lo siguiente:

Necesito escribir un entero que tenga 5 digitos, de lo contrario avizar al usuario con un mensaje de error y al darle "Ok" me vuelva a mostrar la ventana de ingresar el número. El problema es que no se como validar los digitos. Estuve intentando hacer esto:

do{
cadenaNumero = JOptionPane.showInputDialog("Ingrese número de 5 dígitos");
numero = Integer.parseInt(cadenaNumero);
validarEntrada = (int)numero / 100000;
JOptionPane.showMessageDialog(null, "Escriba solamente un número de 5 dígitos", "ADVERTENCIA", JOptionPane.ERROR_MESSAGE);

}while(validarEntrada != 0);

Segun lo que he visto, el numero de 5 digitos dividido entre 100000 me debe dar cero, y al darme cero valida que es de 5 digitos pero no creo estar haciendolo correctamente.

Me podrian ayudar a realizar esta validacion?, gracias de antemano.

Asgaroth 26/04/2007 23:45

Re: Validar que entrada sea número de 5 digitos
 
prueba esto por que si lo haces diviendo en tre 100000 si el cadena es de 4 digitos o menos tambien te da 0

Código:



cadenaNumero = JOptionPane.showInputDialog("Ingrese número de 5 dígitos");
while(cadenaNumero.length()!=5){//revisas que solo dea de 5 digitos si no mensaje de error
        JOptionPane.showMessageDialog(null, "Escriba solamente un número de 5 dígitos", "ADVERTENCIA", JOptionPane.ERROR_MESSAGE);       
        cadenaNumero = JOptionPane.showInputDialog("Ingrese número de 5 dígitos");
}
numero = Integer.parseInt(cadenaNumero);


B** 26/04/2007 23:51

Re: Validar que entrada sea número de 5 digitos
 
Si tienes un string con los numeros y quieres validar que sean 5 digitos:
Código HTML:

//donde la variable "digito" es tu string//
                Pattern p= Pattern.compile("[^0-9]");
                Matcher m=p.matcher(digito);
               
                if( m.find() || digito.length()!=5)
                        System.out.println("mal formato de numero");
                               

Ese codigo valida que solo sean numeros y que tenga 5 digitos
Edit:Claro, para que funcione tienes q hacer el import de :
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Si quieres saber mas sobre Expresiones regulares

GreenEyed 27/04/2007 00:17

Re: Validar que entrada sea número de 5 digitos
 
Tambien podrías validarlo directamente en el control de entrada, usando un JFormattedTextfield:

http://java.sun.com/j2se/1.4.2/docs/...TextField.html
http://java.sun.com/docs/books/tutor...textfield.html
http://www.chuidiang.com/java/ejempl...dTextField.php

DANIEL M 27/04/2007 07:57

Muchas Gracias!!
 
Les agradezco su valiosa ayuda para resolver la validación.


La zona horaria es GMT -6. Ahora son las 07:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.