Foros del Web » Programando para Internet » PHP »

Duda function isDigits

Estas en el tema de Duda function isDigits en el foro de PHP en Foros del Web. Estoy con un formulario de contacto y en el campo telefono esta la function que deje al final de la página. Queria saber ¿Qué aceptaba ...
  #1 (permalink)  
Antiguo 28/05/2009, 21:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 14 años, 11 meses
Puntos: 0
Duda function isDigits

Estoy con un formulario de contacto y en el campo telefono esta la function que deje al final de la página.
Queria saber ¿Qué aceptaba esa funcion? por lo que veo lo que esta encerrado entre comillas es "/[^0-9]/"
Queria saber como hacer para que acepte "espacios, el signo mas (+), el guion (-), y barras (/).
Ya que si tuvieran que escribir un numero de telefono de esta forma; +54 011 464646 ó; +54-011-464646; no podrían.
Código PHP:
    function isDigits($element) {
        if(
$element == "")
            return 
true;
        else    
          return !
preg_match ("/[^0-9]/"$element);
    } 
Muchas gracias.
  #2 (permalink)  
Antiguo 28/05/2009, 21:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda function isDigits

lee el siguiente tema
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/05/2009, 22:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Duda function isDigits

Gracias, de acuerdo al tutorial que me pasaste pude concluir el siguiente codigo:
Código PHP:
    function isDigits($element) {
        if(
$element == "")
            return 
true;
        else    
          return !
preg_match ("/[^0-9\s+-]/"$element);
    } 
Ahi me esta dejando agregar (espacios,signos +, guiones -) me faltaria la barra (/) podrias decirme como agregarlo?
  #4 (permalink)  
Antiguo 28/05/2009, 22:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda function isDigits

Verifica si esto es lo que quieres puedes escribir de las dos formas

Código PHP:
$element "+54-011 464646";
if(
preg_match ("/^(\+\d{1,2})*[\s\/\-]{1}\d{3}[\s\/\-]{1}\d{6}$/"$element)){
    
//Aqui va codigo que deseas que cuando machea la info

me dejas saber, Si quieres saber como funciona esto vas a tener que ir al link que te dijo pateketrueke

Última edición por abimaelrc; 28/05/2009 a las 23:57
  #5 (permalink)  
Antiguo 28/05/2009, 23:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda function isDigits

NOTA que los meta-caracteres cuantificadores, paréntesis, suma, asterisco, etc... así como los separadores tambien se deben escapar...

Código:
/^
(\+?\d{2})?
[\s\/\+\-]?
\d{3}
[\s\/\+\-]?
\d{6}
$/

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 13:43.