2016-05-04 12 views
6

Ho molte difficoltà nel fare questo tipo di formattazione sul campo. Ho un campo modulo:Formato data con onchange

<div class="form-group col-md-12 col-sm-12 col-xs-12">   
    <div class="col-md-2 col-sm-2 col-xs-2 form-label"> 
     {{Form::label('data', 'Data')}} 
    </div>   
    <div class="col-md-10 col-sm-10 col-xs-10">    
     {{Form::date('data', null, ['class' => 'form-control'])}} 
    </div>  
</div> 

L'intenzione è di rendere questo campo essere nel seguente formato, quando una persona entra 2 numeri campo posiziona automaticamente una "/" formando il seguente tipo "2/2/4 "nella misura in cui la persona sta digitando. Comunque c'è un dettaglio, il campo permette l'uso del tasto backspace ma questo non comprometterà l'uso automatico di "/".

ho cercato di fare come gli altri argomenti, ma non ho avuto successo ...

+0

è consigliabile utilizzare un plugin maschera di input invece di fare tutto a mano IMO. – Casey

+0

Che libs stai usando? Sembra che tu stia usando un modello di baffi –

+0

Fausto, Grazie, Saudade, hahaha ............ Casey, penso di aver capito cosa hai detto, cercherò la questione ...... ..File, io uso -> "bootstrap.min.css", "bootstrap-theme.min.css", "jquery-1.12.0.min.js", "bootstrap.min.js" e "font- awesome.min.css ", penso sia così. –

risposta

1

È possibile utilizzare espressioni regolari per questo lavoro. Controlla il formato del testo usando match().

var lastValue = $("input").val(); 
 
$("input").on("keydown keyup change", function(){ 
 
    var value = $(this).val(); 
 
    if (value.match(/^[0-9]*[\/]?[0-9]*[\/]?[0-9]*$/g)) 
 
     lastValue = value; 
 
    else 
 
     $(this).val(lastValue); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />