2017-04-11 6 views
1

Ich habe beschlossen, ein Textfeld zu verwenden, um die Benutzer Geburtsdatum zu bekommen, ich versuche, dieses Textfeld zu machen, so dass es die Benutzereingaben in DD/MM/YYYY, Was beschränkt Ich versuche zu bekommen ist, dass der Schrägstrich (/) in der Textbox behoben ist. Der Benutzer wird nicht die Art haben will die „/“ so versuche ich es in der Textbox repariertWie formatiere ich ein Textfeld für Geburtsdatum

Das ist, was ich versuche


zu erreichen | ____/____/___ |

so weit mein Code ist nur eine einfache Textbox aber hier ist es sowieso

<label for="title">Date of Birth</label> 
<input type="text" name="dateofbirth" id="dateofbirth"> 
</div> 

Antwort

1

Ich denke, das ist das, was Sie suchen:

How to do date masking using javascript (without JQuery)?

Wenn Sie die Pratik Shah überprüfen Antwort gibt es das Format, das Sie gesucht haben und es scheint zu funktionieren.

Code:

<input 
    type="text" 
    name="date" 
    placeholder="dd/mm/yyyy" 
    onkeyup=" 
     var v = this.value; 
     if (v.match(/^\d{2}$/) !== null) { 
      this.value = v + '/'; 
     } else if (v.match(/^\d{2}\/\d{2}$/) !== null) { 
      this.value = v + '/'; 
     }" 
    maxlength="10" 
> 

Es funktioniert auf meinem Firefox 52.0.2

Hoffe, es hilft.

+0

Dies ist ideal, da es auf allen Browsern funktioniert, Danke! – TF120

+0

Beachten Sie, dass dies nicht funktioniert, wenn Sie versuchen, die Rücktaste zu drücken. Was Sie dafür tun können, ist das Hinzufügen '! == null && backspaceTriggered' am Ende jeder' if' Anweisung. Dann füge ein 'else' hinzu, welches einfach' this.value = v' setzt – James111

7

Mit HTML5 Sie einfach das Datum Eingabetyp verwenden:

<input type="date" name="dateofbirth" id="dateofbirth">

Hier die MDN-Referenz: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date

+0

Es scheint ein wenig knifflig mit dem Jahr, es ist interessant – Derek

+0

Das ist, was ich suche, meine einzige Sorge ist, dass auf Firefox scheint dies nicht zu funktionieren, ich bin mir nicht sicher, ob dies an meinem Ende ist oder einfach nicht Firefox unterstützt. Danke trotzdem – TF120

+0

Nicht in FF unterstützt. – Jef

0

Das könnte sein, was Sie suchen.

<input type="date" name="dateofbirth" id="dateofbirth"> 

Beachten Sie, dass dies in bestimmten Browsern nicht funktioniert - Firefox und ältere IE-Versionen.

Verwandte Themen