MARI

Saturday, February 21, 2009

expresiones regulares

Hola compañeros javeros anónimos, bueno como sabemos siempre estamos en desventaja a la hora de pedir datos al usuario ya que tenemos que validar la entrada, por  lo general ocupamos las expresiones regulares para validar o método matches y en ella ocupamos las clases predefinidas de caracteres que podemos usar con las expresiones regulares (\D \W \S ).

Bueno aquí les dejo algunas expresiones regulares que arme para validar la entrada del curp, rfc y numero de credencial espero que les sirva =).


  1.  /*Método que tiene la función de validar el curp*/
  2.     public boolean validarCurp(String curp){
  3.         curp=curp.toUpperCase().trim();
  4.        return curp.matches("[A-Z]{4}[0-9]{6}[H,M][A-Z]{5}[0-9]{2}");
  5.     }//Cierra método validarCurp

  1.   /*Método que tiene la función de validar  el número de credencial*/
  2.     public boolean validarNumCreden(String numCrede){
  3.         numCrede=numCrede.toUpperCase().trim();
  4.         return numCrede.matches("[A-Za-z]{6}[0-9]{8}[H,M][0-9]{3}");
  5.     }//Cierra método validarNumCreden

  1. /*Método que tiene la función de validar  el rfc*/
  2.     public boolean validarRfc(String rfc){
  3.         rfc=rfc.toUpperCase().trim();
  4.         return rfc.toUpperCase().matches("[A-Z]{4}[0-9]{6}[A-Z0-9]{3}");
  5.     }//Cierra método validarRFC

Por último dejo una incógnita ya que no pude armar una expresión funcional que me validara la entrada de texto esto con el fin de validar nombres y apellidos,  aceptando caracteres como ñ y asentó ya que si recordamos los gringos no ocupan la ñ mmm que mal.

  1.    /*Valida que los datos entrantes sean cadenas sin ingresar numeros recibe una cadena
  2.     si la cadena contiene numeros mandara un valor falso en caso contrario sera verdadero*/
  3.    public  boolean validarText(String cadena){    
  4.        boolean bien=false;
  5.        String texto="";
  6.        texto=cadena.trim();
  7.        texto=texto.replace(" ","a");
  8.        texto=texto.replace("ñ","a");
  9.        if(!texto.matches("[a-zA-Z]*\\D{3}"))
  10.            bien=true;
  11.        return bien;
  12.    }//Cierra metodo validarText

Como ven en este método ocupe la clase replace para remplazar los caracteres como (ñ) por una (a) así también como los espacios, de igual forma si es menor a tres mandara false ya que no existen nombres menores a tres, pero ni con todo esto pude hacer que aceptara los acentos ya que algunos apellidos los tienen esperando puedan resolver este problema dejo el código fuente y espero encontrar una solución a mi problema .


No comments:

Post a Comment