Hola
Escoffie:
He creado una función, dale el visto bueno:
Código:
function curp2date(curp) {
var m = miCurp.match( /^\w{4}(\w{2})(\w{2})(\w{2})/ );
//miFecha = new Date(año,mes,dia)
var anyo = parseInt(m[1],10)+1900;
if( anyo < 1950 ) anyo += 100;
var mes = parseInt(m[2], 10)-1;
var dia = parseInt(m[3], 10);
return (new Date( anyo, mes, dia ));
}
Te devuelve un objeto
Date() dado un string con tu CURP.
Luego ya si lo quieres imprimir en la página con el formato que quieras puedes sobreescribir el método
toString() de
Date():
Código PHP:
Date.prototype.toString = function() {
var anyo = this.getFullYear();
var mes = this.getMonth()+1;
if( mes<=9 ) mes = "0"+mes;
var dia = this.getDate();
if( dia<=9 ) dia = "0"+dia;
return anyo+"-"+mes+"-"+dia;
}
Y ya sólo quedaría un ejemplo completo:
Código:
var miCurp = "XXXX970807MSPJRN01";
function curp2date(curp) {
var m = miCurp.match( /^\w{4}(\w{2})(\w{2})(\w{2})/ );
//miFecha = new Date(año,mes,dia)
var anyo = parseInt(m[1],10)+1900;
if( anyo < 1950 ) anyo += 100;
var mes = parseInt(m[2], 10)-1;
var dia = parseInt(m[3], 10);
return (new Date( anyo, mes, dia ));
}
Date.prototype.toString = function() {
var anyo = this.getFullYear();
var mes = this.getMonth()+1;
if( mes<=9 ) mes = "0"+mes;
var dia = this.getDate();
if( dia<=9 ) dia = "0"+dia;
return anyo+"-"+mes+"-"+dia;
}
document.write( curp2date(miCurp) );
Para pasarlo a PHP necesitas enviar un formulario de tu página, o utilizar AJAX, que es un método más transparente pero un poco más complicado.
Un saludo.