Foros del Web » Programando para Internet » Javascript »

Expresión regular para nro de teléfono EU

Estas en el tema de Expresión regular para nro de teléfono EU en el foro de Javascript en Foros del Web. Hol@, En php tengo esta expresión regular para validar la entrada de un nro de teléfono: Código PHP: /^[(]?[ 2 - 9 ]{ 1 }[ ...
  #1 (permalink)  
Antiguo 28/05/2010, 10:47
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Expresión regular para nro de teléfono EU

Hol@,

En php tengo esta expresión regular para validar la entrada de un nro de teléfono:

Código PHP:
/^[(]?[2-9]{1}[0-9]{2}[)]?[-|.| ]?[0-9]{3}[-|.| ]?[0-9]{4}$/; 
Pero necesito también validarlo por el lado del cliente. Cómo sería esta expresión en js?

La idea es que tenga este formato:

(XXX)-XXX-XXXX ó
(XXX).XXX.XXXX

Gracias
__________________
Gaby :adios:
  #2 (permalink)  
Antiguo 28/05/2010, 10:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Expresión regular para nro de teléfono EU

Pues, básicamente, es lo mismo:
Código Javascript:
Ver original
  1. var reg = /^[(]?[2-9]{1}[0-9]{2}[)]?[-|.| ]?[0-9]{3}[-|.| ]?[0-9]{4}$/;
  2. alert(reg.test("número_de_teléfono");
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 28/05/2010, 10:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresión regular para nro de teléfono EU

solo a modo de orientacion... las expresiones regulares de php heredadas de dos formatos: perl ó posix. las expresiones de javascript son heredadas de perl, por lo que las expresiones en un lenguaje son casi compatible en el otro.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 28/05/2010, 12:00
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Respuesta: Expresión regular para nro de teléfono EU

Ya lo he probado y no funciona.

La expresión reg. la estoy llamando desde el evento "keyup", así:

Código:
$('#u_phone-field').keyup(function(e){			
			var field = '#u_phone-field';
			var id_error_msg = '#e_msg_uphone';
			validate_fields(field, e, REGEX_PHONE, id_error_msg,    MSG_INVALID_PHONE);		     
});
REGEX_PHONE, la he definido en una constante y contiene la expr.reg.

Luego:
Código:
function validate_fields(field, event, pattern, id_error_msg, msg){

	tec = (document.all) ? event.keyCode : event.which;
    if (tec ==8) return true;
     
    te = String.fromCharCode(tec);
    if (!pattern.test(te)){		    	
    	$(id_error_msg).show();
		$(id_error_msg).html(msg);
    }else {
		$(id_error_msg).hide();
    	return pattern.test(te);		    	
    }
}
Hay algo que estoy haciendo mal?
__________________
Gaby :adios:
  #5 (permalink)  
Antiguo 28/05/2010, 12:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Expresión regular para nro de teléfono EU

Es que lo que debes validar no es la tecla pulsada, sino todo lo que está escrito en el input, por lo que debes usar la propiedad value para obtener el valor y realizar la comprobación.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: regular, teléfono
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 16:37.