astralyxdev

Mask Input

Forms 1

About

A text input that formats as you type using a pattern mask (digits, letters, or either), such as a card number, phone number, or date, while also handing back the raw unformatted characters for submission.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Mask Input to your project and fits it to your theme.

Code

How Mask Input is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import { MaskInput } from "@/components/ui/mask-input";
import { useState } from "react";

export default function MaskInputDemo() {
  const [raw, setRaw] = useState("");

  return (
    <div className="flex w-full max-w-xs flex-col gap-2 bg-background text-foreground">
      <label
        className="text-sm font-medium text-muted-foreground"
        htmlFor="card-number"
      >
        Card number
      </label>
      <MaskInput
        id="card-number"
        mask="#### #### #### ####"
        onValueChange={(_, value) => setRaw(value)}
      />
      <p className="text-xs text-muted-foreground">
        Raw digits sent to the API: {raw || "—"}
      </p>
    </div>
  );
}

More by astralyxdev

View all
  • Rate Limit Meter

    Rate Limit Meter

    18
  • Note Graph

    Note Graph

    13
  • Prompt Versions

    Prompt Versions

    7
  • Migration List

    Migration List

    7
  • IP Cluster

    IP Cluster

    7
  • Checkout Summary

    Checkout Summary

    7
  • Odds Display

    Odds Display

    5
  • Budget Guard

    Budget Guard

    5

More in Forms

View all
  • Premium Auth

    Premium Auth

    496
  • Login 2

    Login 2

    7
  • Authentication Card

    Authentication Card

    45
  • Login 1

    Login 1

    52
  • Form

    Form

    16
  • Contact Card

    Contact Card

    1K
  • Card Studio

    Card Studio

    41
  • Book A Demo 3

    Book A Demo 3

    83