Foros del Web » Programando para Internet » PHP »

Necesito Validar Y Formatear El Rut

Estas en el tema de Necesito Validar Y Formatear El Rut en el foro de PHP en Foros del Web. SALUDOS ESTRATOSFERICOS A TODAS ESAS MENTES KE ME HAN ENTREGADO GRANDES SOLUCIONES ESTE ULTIMO TIEMPO. BUENO EL PROBLEMA KE TENGO ES EL SIGUIENTE: 1) ESTOY ...
  #1 (permalink)  
Antiguo 03/01/2006, 12:45
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 12 años
Puntos: 0
Necesito Validar Y Formatear El Rut

SALUDOS ESTRATOSFERICOS A TODAS ESAS MENTES KE ME HAN ENTREGADO GRANDES SOLUCIONES ESTE ULTIMO TIEMPO.


BUENO EL PROBLEMA KE TENGO ES EL SIGUIENTE:

1) ESTOY TRATANDO DE FORMATEAR EL RUT DE YYYY/MM/DD A DD/MM/YYYY

Y E VISTO EJEMPLOS PERO NO E PODIDO IMPLEMENTARLO CON UNA FUNCIONALIDAD PERFECTA. SI ALGUIEN PUEDE AYUDARME SE LO AGRADECERE UN BILLON.


Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$Id_Equipos=$_POST['Id_Equipos'];
   
$Tipo=$_POST['Tipo']; 
   
$Marca=$_POST['Marca'];
   
$Modelo=$_POST['Modelo'];
   
$N_Serie=$_POST['N_Serie'];
   
$Descripcion=$_POST['Descripcion'];
   
$Fecha_Compra=$_POST['Fecha_Compra'];
   
$N_Factura=$_POST['N_Factura'];       
   
$Rut_Proveedor=$_POST['Rut_Proveedor'];   
   
$Rut_Asignado=$_POST['Rut_Asignado'];



   
mysql_query("INSERT INTO equipos ( Tipo, Marca, Modelo, N_Serie, Descripcion, Fecha_Compra, N_Factura, Rut_Proveedor,
               Rut_Asignado)
          values ('$Tipo', '$Marca', '$Modelo', '$N_Serie', '$Descripcion', '$Fecha_Compra', '$N_Factura', '$Rut_Proveedor',
                    '$Rut_Asignado')"
,$link); 
    
    [
COLOR="Black"]$Fecha_Compra explode('-',$VariableFecha);
    echo (
"$Fecha_Compra[2]-$Fecha_Compra[1]-$Fecha_Compra[0]");[/COLOR//ESTA ES LA FUNCION KE ESTOY GENERANDO PARA TRATAR DE FORMATEAR LA FECHA PERO NO E OBTENIDO NINGUN RESULTADO(SI HAY ALGUNA MEJOR A ESTA SE LO AGRADECERIA)
  
header('Location: Equipos.php');
     
   
?>


Y DE ACA ESTOY INGRESANDO LOS DATOS

Código PHP:
<body bgcolor="#2C89AD">
<
form name="Ingresa" action="Procesar.php"  method="post" >
  <
table width="576" border="0" cellpadding="0" cellspacing="0" class="checkbox">
    <!--
DWLayoutTable-->
    <
tr
      <
td width="46" height="19"
      <
td width="35"
      <
td width="37">&nbsp;</td>
      <
td width="83">&nbsp;</td>
      <
td width="96">&nbsp;</td>
      <
td width="24">&nbsp;</td>
      <
td width="30">&nbsp;</td>
      <
td width="7">&nbsp;</td>
      <
td width="25">&nbsp;</td>
      <
td width="58">&nbsp;</td>
      <
td width="119">&nbsp;</td>
      <
td width="16">&nbsp;</td>
      <!--
DWLayoutTable-->
    <
tr
      <
td height="29">&nbsp;</td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
      <
td colspan="3" valign="top"><font size="5"><strong>EQUIPOS</strong></font></td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
      <
td>&nbsp;</td>
    </
tr>
    <
tr
      <
td height="21" colspan="11" valign="top"><hr></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="2"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="12" colspan="2" valign="top"><font size="1">N&ordmde Serie:</font></td>
      <
td colspan="2" rowspan="3" valign="top"> <input type="text" name="N_Serie"
      </
td>
      <
td colspan="2" valign="top"><font size="1">Fecha de Compra:</font></td>
      <
td colspan="4" rowspan="3" valign="top"> <input type="text" name="Fecha_Compra" ></td>
      <
td colspan="2" valign="top"><font color="#FF0000" size="1">Ej: (2000-11-05)</font></td>
    </
tr>
    <
tr
      <
td height="4"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td colspan="2" rowspan="2" valign="top"><font size="1">Tipo:</font></td>
      <
td height="1"></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td rowspan="5" valign="top"> <select name="Tipo" id="select">
        </
select></td>
      <
td height="11"></td>
      <
td rowspan="2" valign="top"><font size="1">N&ordmde Factura:</font></td>
      <
td></td>
      <
td colspan="4" rowspan="4" valign="top"> <input type="text" name="N_Factura"></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="1"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="4"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="1"></td>
      <
td></td>
      <
td></td>
      <
td colspan="2" rowspan="3" valign="top"><font size="1">Rut del Proveedor:</font></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="3"></td>
      <
td></td>
      <
td></td>
      <
td colspan="4" rowspan="4" valign="top"> <input name="Rut_Proveedor" type="text"  size="0"></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td rowspan="2" valign="top"><font size="1">Marca:</font></td>
      <
td height="8"></td>
      <
td rowspan="4" valign="top"> <select name="Marca" id="Marca">
        </
select></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="4"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="2"></td>
      <
td></td>
      <
td></td>
      <
td rowspan="4" valign="top"><font size="1">Rut Asignado:</font></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="6"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td colspan="2" rowspan="4" valign="top"> <select name="Rut_Asignado" id="Rut_Asignado">
        </
select></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="2"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td colspan="2" rowspan="2" valign="top"><font size="1">Modelo:</font></td>
      <
td colspan="2" rowspan="3" valign="top"> <input type="text" name="Modelo"></td>
      <
td height="4"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="8"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="5"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="16"></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="12" colspan="2" valign="top"><font size="1">Descripci&oacute;n:</font></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="19">&nbsp;</td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
      <
td></td>
    </
tr>
    <
tr
      <
td height="137"></td>
      <
td></td>
      <
td colspan="7" rowspan="2"> <textarea name="Descripcion" cols="40" rows="10" wrap="PHYSICAL"></textarea
        <
input type="button" name="Submit" value="Ingresar" onClick="validar(this.form)"
      </
td>
      <
td>&nbsp
      <
td>&nbsp
      <
td>&nbsp; </tr>
  </
table>
</
form
  #2 (permalink)  
Antiguo 03/01/2006, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Que significa?:

Cita:
1) ESTOY TRATANDO DE FORMATEAR EL RUT DE YYYY/MM/DD A DD/MM/YYYY
Si te entiendo bien .. una cosa sería validar el RUT (Rol Unico Tributario de Chile) y otra cambiar un formato de una fecha dada que en su base es una "cadena" (string).

Aclara ese punto y revisa las FAQ's .. por qué hay ejemplos de las dos cosas que pretendes hacer: Validar un RUT y formatear (a base de implode() y concatenando) una fecha como la que presentas.

Un saludo,
  #3 (permalink)  
Antiguo 03/01/2006, 14:18
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 12 años
Puntos: 0
Mensaje La forma de validar el rut la obtuve de la faq's

Perdon es la Fecha y no el Rut

lo ke deseo realizar con ese codigo es ingresar la fecha dd/mm/yyyy, y ke esta se almcene dentro de mi BD de igual forma y no como la toma my sql por defecto yyyy-mm-dd.

ademas de poderla validar si esta esta mal escrita basandose en la sgte validacion para los demas campos

Código PHP:
<head>
<
frame><noframes></frame></noframes>
<
script language="JavaScript">
function 
validar(form)
{
var 
error "Por favor, antes de enviar el formulario,\ncomplete todos los campos:\n\n";
var 
""

    
if (form.N_Serie.value == "") { += " Nº de Serie\n"; }
   
/* if (form.Tipo.value == "") { a += " Tipo\n"; }
    if (form.Marca.value == "") { a += " Marca\n"; }*/
    
if (form.Modelo.value == "") { += " Modelo\n"; }
    if (
form.Fecha_Compra.value == "") { += " Fecha de Compra\n"; }
    if (
form.N_Factura.value == "") { += " Nº de Factura\n"; }
    if (
form.Rut_Proveedor.value == "") { += " Rut del Proveedor\n"; }
/*    if (form.Rut_Asignado.value == "") { a += " Rut Asignado\n"; }*/
    
if (form.Descripcion.value == "") { += " Descripcion\n"; }

    if (
!= "") { alert(error a); return true; }

form.submit()
}

</script>

</head>

<link href="Estilos/equipos.css" rel="stylesheet" type="text/css">

<body bgcolor="#2C89AD">
<form name="Ingresa" action="Procesar.php"  method="post" >
  <table width="576" border="0" cellpadding="0" cellspacing="0" class="checkbox">
    <!--DWLayoutTable-->
    <tr> 
      <td width="46" height="19">&nbsp; 
      <td width="35"> 
      <td width="37">&nbsp;</td>
      <td width="83">&nbsp;</td>
      <td width="96">&nbsp;</td>
      <td width="24">&nbsp;</td>
      <td width="37">&nbsp;</td>
      <td width="25">&nbsp;</td>
      <td width="58">&nbsp;</td>
      <td width="119">&nbsp;</td>
      <td width="16">&nbsp;</td>
      <!--DWLayoutTable-->
    <tr>
      <td height="29" colspan="10" valign="top"><div align="center">
          <table width="100%" border="0">
            <!--DWLayoutTable-->
            <tr> 
              <td width="100%" height="30" bgcolor="#FFCC33"> 
                <div align="center"><font color="#666666" size="4"><strong>.:<font color="#000000">EQUIPOS</font>:.</strong></font></div></td>
            </tr>
          </table>
          <font color="#666666" size="4"></font></div>
      <td>&nbsp;</td>
    <tr> 
      <td height="21" colspan="10" valign="top"><hr></td>
      <td></td>
    </tr>
    <tr> 
      <td height="2"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="12" colspan="2" valign="top"><font size="1">N&ordm; de Serie:</font></td>
      <td colspan="2" rowspan="3" valign="top"> <input type="text" name="N_Serie"> 
      </td>
      <td colspan="2" valign="top"><font size="1">Fecha de Compra:</font></td>
      <td colspan="3" rowspan="3" valign="top"> <input type="text" name="Fecha_Compra" ></td>
      <td colspan="2" valign="top"><font color="#CC0033" size="1">Ej: (2000-11-05)</font></td>
    </tr>
    <tr> 
      <td height="4"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td colspan="2" rowspan="2" valign="top"><font size="1">Tipo:</font></td>
      <td height="1"></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td rowspan="5" valign="top"> <select name="Tipo" id="select">
        </select></td>
      <td height="11"></td>
      <td rowspan="2" valign="top"><font size="1">N&ordm; de Factura:</font></td>
      <td></td>
      <td colspan="3" rowspan="4" valign="top"> <input type="text" name="N_Factura"></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="1"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="4"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="1"></td>
      <td></td>
      <td></td>
      <td colspan="2" rowspan="3" valign="top"><font size="1">Rut del Proveedor:</font></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="3"></td>
      <td></td>
      <td></td>
      <td colspan="3" rowspan="4" valign="top"> <input name="Rut_Proveedor" type="text"  size="0"></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td rowspan="2" valign="top"><font size="1">Marca:</font></td>
      <td height="8"></td>
      <td rowspan="4" valign="top"> <select name="Marca" id="Marca">
        </select></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="4"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="2"></td>
      <td></td>
      <td></td>
      <td rowspan="4" valign="top"><font size="1">Rut Asignado:</font></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="6"></td>
      <td></td>
      <td></td>
      <td></td>
      <td rowspan="4" valign="top"> <select name="Rut_Asignado" id="Rut_Asignado">
        </select></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="2"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td colspan="2" rowspan="2" valign="top"><font size="1">Modelo:</font></td>
      <td colspan="2" rowspan="3" valign="top"> <input type="text" name="Modelo"></td>
      <td height="4"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="8"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="5"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="16"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="12" colspan="2" valign="top"><font size="1">Descripci&oacute;n:</font></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="19">&nbsp;</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr> 
      <td height="137"></td>
      <td></td>
      <td colspan="6" rowspan="2"> <textarea name="Descripcion" cols="40" rows="10" wrap="PHYSICAL"></textarea> 
        <input type="button" name="Submit" value="Ingresar" onClick="validar(this.form)"> 
      </td>
      <td>&nbsp; 
      <td>&nbsp; 
      <td>&nbsp; </tr>
  </table>
</form> 


donde la proceso para ser ingresada con el sgte procedimiento

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$Id_Equipos=$_POST['Id_Equipos'];
   
$Tipo=$_POST['Tipo']; 
   
$Marca=$_POST['Marca'];
   
$Modelo=$_POST['Modelo'];
   
$N_Serie=$_POST['N_Serie'];
   
$Descripcion=$_POST['Descripcion'];
   
$Fecha_Compra=$_POST['Fecha_Compra'];
   
$N_Factura=$_POST['N_Factura'];       
   
$Rut_Proveedor=$_POST['Rut_Proveedor'];   
   
$Rut_Asignado=$_POST['Rut_Asignado'];



   
mysql_query("INSERT INTO equipos ( Tipo, Marca, Modelo, N_Serie, Descripcion, Fecha_Compra, N_Factura, Rut_Proveedor,
               Rut_Asignado)
          values ('$Tipo', '$Marca', '$Modelo', '$N_Serie', '$Descripcion', '$Fecha_Compra', '$N_Factura', '$Rut_Proveedor',
                    '$Rut_Asignado')"
,$link); 
    
    
$Fecha_Compra explode('/',$VariableFecha);
    echo (
"$Fecha_Compra[2]/$Fecha_Compra[1]/$Fecha_Compra[0]");

  
header('Location: Equipos.php');
     
   
?>

DISCULPA POR EL COLAPSO
  #4 (permalink)  
Antiguo 04/01/2006, 05:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero que problema tienes concretamente?

No sé si conoces . .pero Mysql si usas un campo tipo DATE .. el formato de fecha que Mysql almacenará y que requiere de dicho formato es:

YYYY-mm-dd

Así es como lo gestiona Mysql y si ves los datos desde Mysql así los veras.

Ahora .. si tu a la hora de presentar esos datos u obtenerlos de tus consultas SQL quieres darle cierto formato .. para eso debes usar la función de SQL:

DATE_FORMAT() y así extraes dicho dato (de tu campo "DATE") con el formato que gustes.

Un saludo,
  #5 (permalink)  
Antiguo 04/01/2006, 06:06
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 12 años
Puntos: 0
Es cierto lo ke me dices, pero hay alguna forma de ke el usuario ingrese la fecha en dd/mm/yyyy, y el notor de bd pueda aceptarla, para ser vista de la forma ke anteriormente te dije(usando una especie de formateo)


Saludos



Cita:
Iniciado por Cluster
Pero que problema tienes concretamente?

No sé si conoces . .pero Mysql si usas un campo tipo DATE .. el formato de fecha que Mysql almacenará y que requiere de dicho formato es:

YYYY-mm-dd

Así es como lo gestiona Mysql y si ves los datos desde Mysql así los veras.

Ahora .. si tu a la hora de presentar esos datos u obtenerlos de tus consultas SQL quieres darle cierto formato .. para eso debes usar la función de SQL:

DATE_FORMAT() y así extraes dicho dato (de tu campo "DATE") con el formato que gustes.

Un saludo,
  #6 (permalink)  
Antiguo 04/01/2006, 06:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Es cierto lo ke me dices, pero hay alguna forma de ke el usuario ingrese la fecha en dd/mm/yyyy, y el notor de bd pueda aceptarla, para ser vista de la forma ke anteriormente te dije(usando una especie de formateo)
En ese caso eres TU con tu programación en PHP el que tiene que tomar ese formato de fecha y "darle la vuelta" o reordenar esa fecha para ajustarte al formato de fecha de un campo DATE de Mysql .. ingresarlo en tu BD y luego a la hora de hacer tus consultas SQL a tu BD y obtener esa fecha usar la función de SQL que te mencioné: DATE_FORMAT() para presentar esa fecha en el formato que gustes.

Veo que ya usastes:
Código PHP:
$Fecha_Compra explode('/',$VariableFecha); 
Si
Código PHP:
$VariableFecha "dd/mm/yyyy"
.. con la aplicación de explode() a ese caracter de separador que usas en tu "fecha" vas a obtener un array con 3 elementos .. en el 0 estará tu "dia" .. en el "1" tu "mes" y en el "2" el "año".

Se trata de que compongas la fecha en formato DATE sabiendo que todo eso no es más que una "cadena" (string):

Código PHP:
$fecha_para_BD$Fecha_Compra[2]."-".$Fecha_Compra[1]."-".$Fecha_Compra[0]; 
Y esa "$fecha_para_DB" es la que usarás para insertartarla en tu tabla (para hacer tu INSERT). Así quedará tu fecha con formato correcto para un campo DATE de tu tabla.

Y a la hora de hacer tus consultas SQL para obtener ese campo de "fecha" con el formato que tu quieras, debes usar la función SQL: DATE_FORMAT() (revisa un manual de Mysql).

Un saludo,
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 15:29.