Validación de campos utilizando patrones javascript

Una de las cosas más importantes que debe cuidar todo buen desarrollador, es vigilar los más posible, la calidad de los datos que se incluyen en un sistema. Bajo este precepto, es importante el realizar tareas de verificación de datos antes de que estos sean guardados en las tablas.

Por este motivo, en esta ocasión quisiera presentarles el uso de patrones de expresiones regulares javascript, para realizar algunas de estas tareas de verificación.

Un patrón o expresión regular es, básicamente, una cadena de caracteres simples y especiales que utilizamos para definir el contenido de una constante o una variable, y por ende, de un campo de datos.

Para aquellos de ustedes que deseen aprender más acerca de los patrones o expresiones regulares, los invito a realizar una búsqueda en Internet, donde pueden encontrar muy buen material al respecto.

Para utilizar estos patrones o expresiones regulares para validar los datos ingresados en nuestras formas de Oracle Apex, el procedimiento es el siguiente:

  1. Ingrese a la página de propiedades del campo al que desee agregar la validación.
  2. Dirijase a la sección Elemento.
  3. Patrones javascript 1

  4. En el campo Atributos de Elemento de Pantalla HTML ingrese el siguiente código: onChange=”javascript:patronRe = /patron/;if (!patronRe.test(this.value)) {alert(‘Mensaje de error’);} else {html_GetElement(‘P99_SIGUIENTE’).focus();}”
  5. Haga clic en el botón Aplicar cambios

El resultado de un dato erróneamente introducido sería algo similar a lo que se muestra en la siguiente ilustración.

Patrones javascript 2

Algunas consideraciones a tomar en cuenta:

  • Reemplace en el código de arriba, la cadena “patron”, por el patrón correspondiente al dato a verificar.
  • Reemplace “Mensaje de error”, por el mensaje que desea que aparezca mostrado en la ventana de alerta, cuando el dato ingresado no se adecúa al patrón proporcionado.
  • La cadena del patrón debe ser ingresada consecutivamente, no debe incluir saltos de línea, pues esto provocaría un error en la función de validación.

Finalmente, les dejo tres ejemplos de patrones muy útiles y que pueden utilizar en sus formas.

  • Patrón para permitir solo el ingreso de letras (mayúsculas y minúsculas) y espacios en blanco, para una cadena que debe tener al menos 10 caracteres de largo.
  • /[a-zA-Z\s]{10,}/

  • Patrón para verificar un número telefónico, el cual debe inicial con un 2 o un 8 y que debe incluir don grupos de números de 4 dígitos cada uno, separados por un espacio en blanco o un guión.
  • /^(2|8)\d{3}(-| )\d{4}/

  • Patrón para verificar una dirección de correo electrónico. Verifica que los dominios esten contenidos en uno de los siguientes: com, net, org, edu, int, mil, gov, arpa, biz, aero, name, coop, info, pro, museum
  • /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/

    Solo me resta invitarlos a ver un ejemplo implementado en mi espacio de trabajo en OTN.

    Recordarles que pueden dejar comentarios, sugerencias o solicitudes cuando lo deseen.

    Tags: , , ,

    6 Responses to “Validación de campos utilizando patrones javascript”

    1. Isecson Leite says:

      Hola amigos ! Que tal como están ?

      Realmente estoy fascinado por éstos excelentes artículos.
      Los felicito sinceramente y les agradezco mucho.

      Esto es lo que estaba esperando un artículo que explicara como validar los datos en APEX.

      Por lo que veo debo aprender JavaScript. También me gustaría que incluyeran un foro para poder realizar nuestras consultas.

      De nuevo, los felicito y espero que sigan pubicando más artículos porque
      necesito aprender a usar APEX lo más pronto posible pues quiero
      aprender a realizar una aplicación vía web con Oracle Express Edition.

      Oracle es la mejor heramienta que existe y debemos aprovechar las
      herramientas gratuitas que nos proporciona.

      De nuevo les agradezco muchísimo y felicitaciones.

      • Chelos says:

        bueno ni tan gratis porque debes tener Application Server aunque tambien se puede en Apache pero es un dolor configurarlo

    2. Isecson says:

      Hola amigos que tal como están ?

      De nuevo, los felicito y espero que sigan pubicando más artículos
      sobre el desarrollo de apliacaciones usando APEX sobre Oracle
      Express Edition.

      Tal vez puden orientarme sobre QUE ES ?
      Lo que necesito saber de JAVASCRIPT o de AJAX para hacer las validaciones en APEX.

      La verdad me interesa mucho aprender hacer aplicaciones vía web
      con APEX.

      Saludos !!!

    3. Oscar says:

      Saludos!.

      Felicitaciones por todo los artí­culos nuevos que colocaste, son de mucha ayuda.
      En esta ocasión deseo realizar una consulta, tengo la siguiente funcion:

      function confirmar()
      {
      if (!confirm(AVISO: ¿Deseas confirmar la accion?))
      //quiero continuar en la misma pagina de apex
      else
      //continuar con el proceso
      }

      Agradecería mucho si me pudiesen ayudar con este problemita. Gracias!

    4. Marco says:

      Q tal amigos necesito ayuda… Tengo un codigo de verificacion de datos biometricos en una funcion que necesito se compare el ingreso con los datos de la base y no se donde adherirle esa funcion y como compararle con la base espero me puedan ayudar gracias

    5. admin says:

      Existen tres maneras en que puedes ejecutar Oracle Apex.

      Una de ellas es como Chelos dice, utilizando Oracle Application Server, el cual implica un costo.

      Sin embargo, pueden utilizar otras dos opciones para ejecutarlo, una es utilizando el modo \embedded\, el cual se puede utilizar con la version 10g XE, la cual es gratuita, o bien, con una base de datos 11g. Esta última si ya la tienen en su empresa no tienen que incurrir en un gasto adicional.

      La tercera opción es utilizando APex Listener, el cual es un motor basado en J2EE.

      Además, si piensan en otras herramientas, tales como Developer, Designer u otras herramientas basadas en java, todas ellas necesitan del Servidor de aplicaciones para ejecutarlas.

      Saludos

    Leave a Reply