none
Problemas con recurso web RRS feed

  • Pregunta

  • 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,

    viernes, 17 de agosto de 2012 21:40

Respuestas

Todas las respuestas

  • 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

    domingo, 19 de agosto de 2012 16:26
    Moderador
  • Hola Cesar1027,

    Prueba con esta validación

    \+[0-9]\(?\d{3}[) ]\s?\d{3}[- ]\d{4}

    Saludos


    Salu2 Atilin | http://atiliorosas.blogspot.com.es/

    lunes, 20 de agosto de 2012 8:29
  • Hola Atilio, no me funcionó! Alguna otra alternativa, el formato del telefono es el que usamos en Costa Rica ("2344-8201)

    Gracias,

    lunes, 20 de agosto de 2012 18:12
  • Hola Cesar,

    Puedes decirnos que es lo que te retorna parts

    Saludos  


    Salu2 Atilin | http://atiliorosas.blogspot.com.es/

    lunes, 20 de agosto de 2012 18:14
  • 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,


    • Editado Cesar1027 martes, 21 de agosto de 2012 15:35
    martes, 21 de agosto de 2012 15:31