Problemas con recurso web

Answered 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 PM
    Moderator
     
     

    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

  • Monday, August 20, 2012 8:29 AM
     
     Answered

    Hola Cesar1027,

    Prueba con esta validación

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

    Saludos


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

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