Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con expresión regular

Estas en el tema de Problema con expresión regular en el foro de Frameworks JS en Foros del Web. Estoy intentando construir la expresión regular para verificar un numero de teléfono (formato (+34)123456789 ) pero no funciona como espero. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 30/11/2012, 09:28
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 10 meses
Puntos: 14
Problema con expresión regular

Estoy intentando construir la expresión regular para verificar un numero de teléfono (formato (+34)123456789 ) pero no funciona como espero.

Código Javascript:
Ver original
  1. var phoneNumber = /^\(?[+0-9]{3,4}\)?[ ]?[0-9]{7,12}/;
  2.          
  3.          if(!$("#user_phone").val().match(phoneNumber)) {  
  4.  
  5.            alert("Error en telefono");  
  6. }

Si meto letras si me lanza el alert pero si meto 1111111111111 pasa sin problemas.
  #2 (permalink)  
Antiguo 30/11/2012, 09:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Problema con expresión regular

Es que efectivamente ese número pasa la validación según tu expresión regular, ¿cuál es exactamente el comportamiento que deseas?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 30/11/2012, 09:42
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 10 meses
Puntos: 14
Respuesta: Problema con expresión regular

formato (+34)123456789 correcto, cualquier cosa distinta no debe pasar (evidentemente los numeros sin pueden cambiar)
  #4 (permalink)  
Antiguo 30/11/2012, 09:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Problema con expresión regular

Entonces debería ser:
Código Javascript:
Ver original
  1. /^\([+0-9]{3,4}\)[ ]?[0-9]{7,12}/
Ya que con el signo de interrogación le indicas que los paréntesis son opcionales.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 30/11/2012, 09:52
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 10 meses
Puntos: 14
Respuesta: Problema con expresión regular

Muchas gracias David me has ayudado bastante a ver el problema, pero la expresión que me pasaste no limita los caracteres a 9, lo hice así y perfecto.


Código Javascript:
Ver original
  1. /^\(\+\d{2}\)\d{9}$/

Etiquetas: funcion, regular
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 08:55.