Quel est le meilleur moyen d'insérer automatiquement des barres obliques '/' dans les champs de date
Je suis en train d'ajouter des fonctionnalités à l'entrée des champs de date, de sorte que lorsque l'utilisateur entre dans les chiffres, les barres obliques "/" obtenir automatiquement ajouté.
Supposons donc que j'ai le code html suivant:
<input type="text" id="fooDate" />
Et supposons que j'ai le code javascript suivant:
var dateField = document.getElementById("fooDate");
dateField.onkeyup = bar;
Ce qui devrait bar
être?
À ce jour le meilleur de google résultat était:
function bar(evt)
{
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 + '/';
}
}
Merci!
aussi, je sais avoir des barres obliques être entré comme vous le type suce. Rouler avec ça :p
source d'informationauteur Shawn | 2011-02-15
Vous devez vous connecter pour publier un commentaire.
Mise à jour/Edit: de toute Évidence la solution la plus simple aujourd'hui avec une généralisation de la prise en charge HTML5 est d'utiliser
<input type="date" name="yourName">
.Pour ceux qui se plaignent que ça ne veut pas accueillir correction arrière ou le collage, j'ai modifié l'original:
`
De Travail Violon: https://jsfiddle.net/ChrisCoray/hLkjhsce/
J'ai une autre solution qui peut fonctionner avec jquery-ui datepicker, sans formatter.js. Il est destiné à être appelée à partir de la
keyup
etchange
événements. Il ajoute zéro de remplissage. Il travaille avec différentes prises en charge les formats de date, par la construction des expressions de la dateFormat chaîne. Je ne peux pas penser à une façon de le faire avec moins de trois remplace.https://jsfiddle.net/4msunL6k/
Essayez d'utiliser ce plugin : http://digitalbush.com/projects/masked-input-plugin/
Il fonctionne avec jquery.
Cette solution fonctionne pour moi. J'ai saisi le flou de l'événement si vous devez changer le code si vous souhaitez utiliser l'événement keyup.
HTML
Javascript
Si vous êtes à la recherche pour un pur js version de @Chris réponse
Et de la section HTML peut-être(si nécessaire):