Back to Projects
Live DemoReact + TypeScript

Date Input Formatter

A smart date input utility that auto-formats user input to MM/DD/YYYY format, with intelligent cursor positioning that feels natural.

Try it out

Type any numbers — slashes insert automatically

Features

🎯

Smart Cursor

Maintains natural cursor position even after auto-formatting

🔢

Numbers Only

Filters out non-numeric input automatically

📅

Auto Slashes

Inserts "/" at the right positions as you type

</>Source Code

date-input-formatter.ts
// Usage: Simply attach to any input
<input
  type="text"
  placeholder="MM/DD/YYYY"
  onInput={reformatDatePickerInput}
/>

🧠How It Works

1

Capture Input

On every input event, we grab the current value and cursor position.

2

Count Numerics

We count how many numeric characters exist before the cursor to preserve relative position.

3

Format String

Strip non-numeric chars, limit to 8 digits, and insert slashes at positions 2 and 5.

4

Restore Cursor

Calculate new cursor position based on numeric count, accounting for inserted slashes.