JSFiddle - React, Tailwind, and code Playground
by Juan Muñoz
HTML
<input type="text" value='10042019' class="fechaval solonumeroguion">
JavaScript
$(document).ready(function (){
/* $(document).on('blur', 'fechaval',function (){
var valor = $(this).val();
var len_valor = $(this).val().length;
if (len_valor == 10){
var validafecha = /^(((0[1-9]|[12]\d|3[01])\-(0[13578]|1[02])\-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\-(0[13456789]|1[012])\-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\-02\-((19|[2-9]\d)\d{2}))|(29\-02\-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
if (validafecha.test(valor.toString())){
var regfecha = /(/d{2})-(/d{2})-(/d{4})/g
valor = valor.toString().replace(regfecha, "$1\.");
$(this).val(valor);
}else{
$(this).val('');
}
}else{
$(this).val('');
}
});
*/
$(document).on('blur', '.fechaval',function (){
var valor = $(this).val();
var len_valor = $(this).val().length;
if ( !isNaN(valor) ){
if (len_valor == 8 ){
var regfecha = /(\d{2})(\d{2})(\d{4})/g
valor = valor.toString().replace(regfecha, "$1-$2-$3");
var validafecha = /^(((0[1-9]|[12]\d|3[01])\-(0[13578]|1[02])\-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\-(0[13456789]|1[012])\-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\-02\-((19|[2-9]\d)\d{2}))|(29\-02\-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
if (validafecha.test(valor.toString())){
console.log("fecha correcta")
$(this).val(valor);
}else{
console.log("fecha invalida")
$(this).val('');
}
}else{
$(this).val('');
}
}else{
if (len_valor == 10){
var validafecha =...