Problemas con recurso web
-
Friday, August 17, 2012 9:40 PM
Hola Colegas, hace unos dias pedi ayuda para poder mostrar mascaras, Demian me ayudo muy amablemente, con un link donde venia una ayuda que me sirvio de mucho, lo que pasa es que el formato de telefono que el codigo tiene es +1 (916) 555-1212 y por mas que lo he intentado no he podido descubrir el codigo para que me quede con este fomato: 2455-57-96
Si alguien me pudiera ayudar se los agradeceria el codigo donde hace este formato es:
function formatPhone(phonenum)
{
var regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/; // como formateo esto para que me funcione
if (regexObj.test(phonenum))
{
var parts = phonenum.match(regexObj);
var phone = "";
if (parts[1]) { phone += "+1 (" + parts[1] + ") "; }
phone += parts[2] + "-" + parts[3]; ///si alguien me puede explicar como funciona esta linea y la anterior es q no las entiendoo??
return phone;
}
Else
{
return phonenum;
}
}
Gracias,
All Replies
-
Sunday, August 19, 2012 4:26 PMModerator
Hola Cesar, no estoy seguro de que país ese formato de telefono, pero seguro que si buscas encuentras un ejemplo.
sino te recomiendo enteder como funcionan las expresiones regulares y prepararte uno... puedes ver este manual muy util: http://www.codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial
un saludo.
Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com
- Proposed As Answer by Demian Adolfo RaschkovanMVP, Moderator Sunday, August 19, 2012 4:26 PM
- Unproposed As Answer by Demian Adolfo RaschkovanMVP, Moderator Sunday, August 19, 2012 4:26 PM
-
Monday, August 20, 2012 8:29 AM
Hola Cesar1027,
Prueba con esta validación
\+[0-9]\(?\d{3}[) ]\s?\d{3}[- ]\d{4}
Saludos
Salu2 Atilin | http://atiliorosas.blogspot.com.es/
- Marked As Answer by Demian Adolfo RaschkovanMVP, Moderator Friday, January 11, 2013 10:49 PM
-
Monday, August 20, 2012 6:12 PM
Hola Atilio, no me funcionó! Alguna otra alternativa, el formato del telefono es el que usamos en Costa Rica ("2344-8201)
Gracias,
-
Monday, August 20, 2012 6:14 PM
Hola Cesar,
Puedes decirnos que es lo que te retorna parts
Saludos
Salu2 Atilin | http://atiliorosas.blogspot.com.es/
-
Tuesday, August 21, 2012 3:31 PM
Hola Atilio, el mensaje que me despliega es: "Error en el evento personalizado de este campo/ campo: new:_telefonodeltrabajo/ Evento: onchange/ Error:El valor de la propiedad "phone_Onchange" es nulo o no esta definido, no es un objeto de funcion"
Ese es el error Atilio y el codigo que tengo actualmente, modificando la linea que me sugeriste es:
function phone_OnChange()
{
if (Xrm.Page.getAttribute("new_telefonodeltrabajo").getValue() != null)
{
var startphnnum = Xrm.Page.getAttribute("new_telefonodeltrabajo").getValue();
var finishphnnum = formatPhone(startphnnum);
Xrm.Page.getAttribute("new_telefonodeltrabajo").setValue(finishphnnum);
}
}
function formatPhone(phonenum)
{
var regexObj = \+[0-9]\(?\d{3}[) ]\s?\d{3}[- ]\d{4}; // como formateo esto para que me funcione
if (regexObj.test(phonenum))
{
var parts = phonenum.match(regexObj);
var phone = "";
if (parts[1]) { phone += "+1 (" + parts[1] + ") "; }
phone += parts[2] + "-" + parts[3]; ///si alguien me puede explicar como funciona esta linea y la anterior es q no las entiendoo??
return phone;
}
Else
{
return phonenum;
}
}
El formato que necesito lograr es: 7777-7777 donde cada 7 representa un numero diferente.
Gracias,
- Edited by Cesar1027 Tuesday, August 21, 2012 3:35 PM