رفتن به محتوای اصلی

فارسی

کد تأیید (OTP)

ورود کد پیامکی یک‌بارمصرف؛ با پر شدن خودکار از پیامک در گوشی و ارقام فارسی.

import { OtpInput } from "@kashi-ui/react";

نمونه

کد آزمایشی 123456 را تایپ کنید، یا کد را کپی کنید و بچسبانید.

کد آزمایشی: ۱۲۳۴۵۶

کد را تایپ یا بچسبانید؛ در گوشی، کد پیامکی خودکار پیشنهاد می‌شود.

<OtpInput
label="کد ارسال‌شده به ۰۹۱۲ ••• ۶۷۸۹"
length={6}
groupAfter={3}
onComplete={(code) => verify(code)}
/>

چرا یک input؟

بیشتر پیاده‌سازی‌های OTP شش فیلد جدا دارند که چسباندن، پاک کردن و صفحه‌خوان را خراب می‌کند. کاشی یک input واقعی زیر خانه‌های نمایشی دارد، پس:

  • پر شدن خودکار: با autocomplete="one-time-code"، iOS و Android کد پیامک دریافتی را بالای صفحه‌کلید پیشنهاد می‌دهند.
  • چسباندن: «۱۲۳ ۴۵۶» یا «123-456» هم درست خوانده می‌شود؛ ارقام فارسی و فاصله‌ها پذیرفته می‌شوند.
  • صفحه‌خوان: یک فیلد با یک برچسب می‌خواند، نه شش فیلد بی‌نام.
  • پاک کردن و جابه‌جایی: Backspace، کلیدهای جهت‌دار و انتخاب متن همان رفتار عادی را دارند.

ویژگی‌ها

نامنوعپیش‌فرضتوضیح
lengthnumber6تعداد رقم
value / defaultValuestring—کد با ارقام انگلیسی
onChange(code) => void—با هر تغییر
onComplete(code) => void—وقتی همهٔ رقم‌ها وارد شد
groupAfternumber—خط فاصله بعد از این تعداد رقم
label / hint / errorReactNode—مثل Input
digits"fa" | "latin""fa"خط ارقام نمایشی
size"sm" | "md""md"اندازهٔ خانه‌ها
namestring—نام فیلد مخفی فرم