日付を入力する際に、スラッシュ(/)を手動で入力するのは手間がかかりますよね。特に生年月日などのフィールドでは、ユーザーが統一されたフォーマットで入力するのを助けるために、スラッシュを自動で挿入する機能を実装することができます。今回は、jQueryを使ってこの機能を簡単に実装する方法をご紹介します。
必要なファイルを準備する
まずは、HTMLファイルを用意し、jQueryライブラリを読み込みます。以下のようにして、HTMLファイルの<head>セクションにjQueryのスクリプトタグを追加しましょう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>日付入力でスラッシュ自動入力</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<!-- コンテンツはここに -->
</body>
</html>
日付入力フィールドを作成する
次に、日付入力フィールドをHTML内に作成します。このフィールドにスラッシュ自動挿入の機能を追加します。
<body>
<label for="date-input">生年月日(YYYY/MM/DD):</label>
<input type="text" id="date-input" placeholder="YYYY/MM/DD" maxlength="10">
</body>
jQueryスクリプトを追加する
次に、jQueryを使ってスラッシュを自動的に挿入するスクリプトを追加します。以下のコードを<head>セクションの<script>タグ内に追加します。
<script>
$(document).ready(function() {
$('#date-input').on('input', function() {
var input = $(this).val();
var formattedInput = input.replace(/\D/g, '');
if (formattedInput.length >= 4) {
formattedInput = formattedInput.substring(0, 4) + '/' + formattedInput.substring(4);
}
if (formattedInput.length >= 7) {
formattedInput = formattedInput.substring(0, 7) + '/' + formattedInput.substring(7, 9);
}
$(this).val(formattedInput);
});
});
</script>
スクリプトの動作を確認する
全てのコードが揃ったら、ブラウザでHTMLファイルを開いて動作を確認しましょう。日付入力フィールドに数字を入力するだけで、自動的にスラッシュが挿入されるはずです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>日付入力でスラッシュ自動入力</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('#date-input').on('input', function() {
var input = $(this).val();
var formattedInput = input.replace(/\D/g, '');
if (formattedInput.length >= 4) {
formattedInput = formattedInput.substring(0, 4) + '/' + formattedInput.substring(4);
}
if (formattedInput.length >= 7) {
formattedInput = formattedInput.substring(0, 7) + '/' + formattedInput.substring(7, 9);
}
$(this).val(formattedInput);
});
});
</script>
</head>
<body>
<label for="date-input">生年月日(YYYY/MM/DD):</label>
<input type="text" id="date-input" placeholder="YYYY/MM/DD" maxlength="10">
</body>
</html>
サンプル
まとめ
今回は、jQueryを使って日付入力フィールドにスラッシュを自動的に挿入する方法をご紹介しました。ユーザーが日付を入力する際に、自動でスラッシュが挿入されることで、入力の手間が省け、データの整合性も保たれます。ぜひ、あなたのプロジェクトにも取り入れてみてください。