Foros del Web » Programando para Internet » Javascript »

Expresión regular pattern con HTML5 / JavaScript

Estas en el tema de Expresión regular pattern con HTML5 / JavaScript en el foro de Javascript en Foros del Web. ¡Hola! ¿Cuál sería la expresión regular para permitir cualquier carácter en un campo y no admitir más de cuatro letras en ningún caso (mayúsculas o ...
  #1 (permalink)  
Antiguo 03/09/2014, 16:28
 
Fecha de Ingreso: marzo-2004
Mensajes: 74
Antigüedad: 20 años
Puntos: 0
Expresión regular pattern con HTML5 / JavaScript

¡Hola!

¿Cuál sería la expresión regular para permitir cualquier carácter en un campo y no admitir más de cuatro letras en ningún caso (mayúsculas o minúsculas)? Es decir, el usuario puede escribir todos los caracteres que quiera, siempre que no haya más de cuatro letras, pero puede haber tantos números y símbolos como desee.

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 03/09/2014, 16:35
Avatar de jvier  
Fecha de Ingreso: septiembre-2014
Mensajes: 106
Antigüedad: 9 años, 6 meses
Puntos: 6
Respuesta: Expresión regular pattern con HTML5

Si los 4 caracteres que admites están juntos lo puedes solucionar con expresión regular... pero si están dispersos en toda la cadena... así a lo rápido se me ocurre con un bucle que recorra toda la cadena y revises que no exceda los 4 caracteres
__________________
Me gusta desarrollar aplicaciones para Android, y me considero bueno para el PHP, Javascript y el AS3.

AH! y agradezco puntitos jeje (si mis respuestas te ayudan).
  #3 (permalink)  
Antiguo 03/09/2014, 16:39
 
Fecha de Ingreso: marzo-2004
Mensajes: 74
Antigüedad: 20 años
Puntos: 0
Respuesta: Expresión regular pattern con HTML5

Cita:
Iniciado por jvier Ver Mensaje
Si los 4 caracteres que admites están juntos lo puedes solucionar con expresión regular... pero si están dispersos en toda la cadena... así a lo rápido se me ocurre con un bucle que recorra toda la cadena y revises que no exceda los 4 caracteres
Me gustaría evitar que estén juntos. ¿Cuál sería la expresión regular?

Agradezco mucho la ayuda.
  #4 (permalink)  
Antiguo 03/09/2014, 16:58
Avatar de jvier  
Fecha de Ingreso: septiembre-2014
Mensajes: 106
Antigüedad: 9 años, 6 meses
Puntos: 6
Respuesta: Expresión regular pattern con HTML5

Código Javascript:
Ver original
  1. function validarCaracteres(){
  2. var exp = /^[a-zA-Z]*$/;
  3.  var cadena = $("#entrada").val();
  4.     var char = cadena.split("");
  5.     var con = 0;
  6.     for(var a = 0; a< char.length; a++){
  7.         var string = char[a];
  8.          if(string.match(exp)){
  9.             con++;
  10.         }
  11.     }
  12.     if(con > 4 ){
  13.         alert("Mas de 4 caracteres.");
  14.     }else{
  15.          alert("Correcto");
  16.     }
  17.  
  18. }

Esta puede ser una solucion....

te mando un link donde lo puedes probar:
http://jsfiddle.net/m3hu2uj1/
__________________
Me gusta desarrollar aplicaciones para Android, y me considero bueno para el PHP, Javascript y el AS3.

AH! y agradezco puntitos jeje (si mis respuestas te ayudan).
  #5 (permalink)  
Antiguo 03/09/2014, 17:09
 
Fecha de Ingreso: marzo-2004
Mensajes: 74
Antigüedad: 20 años
Puntos: 0
Respuesta: Expresión regular pattern con HTML5

Simplemente perfecto, es lo que buscaba. ¡GRACIAS!
  #6 (permalink)  
Antiguo 03/09/2014, 22:28
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 1 mes
Puntos: 998
Respuesta: Expresión regular pattern con HTML5 / JavaScript

ya que la solución fue con js, muevo al foro correspondiente.

PD: no te olvides de validarlo también del lado del servidor, sino basta con desactivar js para poder ingresar lo que se quiera
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -

Etiquetas: html, html5, pattern, regular, todo
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:39.