فارسی
فرم نشانی
استان، شهرِ همان استان، نشانی، پلاک، واحد و کد پستی دهرقمی در یک فرم؛ با فهرست بیش از ۱۲۰۰ شهر ایران و نقشه برای انتخاب استان.
npm i @kashi-ui/react @kashi-ui/cssimport { AddressForm } from "@kashi-ui/react";CSS را یک بار در ریشهٔ برنامه وارد کنید: import "@kashi-ui/css"راهنمای نصب
npx shadcn@latest add @kashi/address-formکد خودِ کامپوننت در پوشهٔ components/kashi پروژهٔ شما کپی میشود. برای نسخههای قدیمی shadcn، راهنمای «دربارهٔ shadcn» را ببینید.دربارهٔ shadcn
npm i @kashi-ui/elements @kashi-ui/cssimport "@kashi-ui/elements/map.js";<kashi-address-form></kashi-address-form>بدون React، برای HTML، وردپرس، Vue و Angular.CDN، نمونه و ویژگیها
import { AddressForm } from "@kashi-ui/react";
import { EMPTY_ADDRESS, formatAddress, type IranAddress } from "@kashi-ui/persian";
فرم کامل
با انتخاب استان فقط شهرهای همان استان میآیند و با عوض شدن استان، شهرِ نامربوط پاک میشود. اگر کاربر اول شهر را بنویسد، استان خودکار پر میشود. کد پستی هنگام تایپ قالب میگیرد و با قواعد کد پستی ایران بررسی میشود.
اصفهان، کاشان
const [address, setAddress] = useState<IranAddress>(EMPTY_ADDRESS);
<AddressForm value={address} onChange={setAddress} name="shipping" />
<p>{formatAddress(address)}</p>مقدار فرم یک شیء IranAddress است:
interface IranAddress {
province: string | null; // «اصفهان»
city: string | null; // «کاشان»
street: string; // «خیابان امیرکبیر، کوچهٔ ۱۲»
plaque: string;
unit: string;
postalCode: string; // ده رقم لاتین، «8713714568»
}
formatAddress همین شیء را در یک خط با ارقام فارسی برمیگرداند، مثل «اصفهان، کاشان، خیابان امیرکبیر، پلاک ۱۲، واحد ۳، کد پستی ۸۷۱۳۷-۱۴۵۶۸»؛ برای فاکتور، رسید یا صفحهٔ تأیید سفارش.
با نقشه
با map نقشهٔ ایران کنار فیلدها میآید و استان را میشود روی نقشه هم انتخاب کرد. در عرض کم، نقشه زیر فیلدها میرود.
<AddressForm value={address} onChange={setAddress} map legend="نشانی تحویل" />ارسال با فرم HTML
با name هر فیلد در فرم HTML هم فرستاده میشود: name="shipping" میشود shipping[province]، shipping[city]، shipping[street]، shipping[plaque]، shipping[unit] و shipping[postalCode]. این همان قالبی است که Laravel و PHP بهصورت آرایه میخوانند. خطاهای اعتبارسنجی سرور را با errors زیر هر فیلد نشان دهید:
<AddressForm name="shipping" errors={{ plaque: "پلاک را بنویسید." }} />
انتخاب شهر
CitySelect جدا هم در دسترس است. با province فقط شهرهای همان استان را نشان میدهد و بدون آن همهٔ شهرها را با نام استانشان. جستجو «علی آباد»، «علیآباد» و «علیآباد» را یکی میداند. شهری که در فهرست نیست (مثلاً شهرهای تازهتأسیس) با همان نامی که کاربر نوشته پذیرفته میشود؛ برای بستن این امکان allowCustom={false} بدهید.
- آبشاحمدآذربایجان شرقی
- آچاچیآذربایجان شرقی
- آذرشهرآذربایجان شرقی
- آقکندآذربایجان شرقی
- اسکوآذربایجان شرقی
- اهرآذربایجان شرقی
- ایلخچیآذربایجان شرقی
- باسمنجآذربایجان شرقی
- بخشایشآذربایجان شرقی
- بستانآبادآذربایجان شرقی
- بنابآذربایجان شرقی
- بناب مرندآذربایجان شرقی
- تبریزآذربایجان شرقی
- ترکآذربایجان شرقی
- ترکمانچایآذربایجان شرقی
- تسوجآذربایجان شرقی
- تیکمهداشآذربایجان شرقی
- تیمورلوآذربایجان شرقی
- جلفاآذربایجان شرقی
- جوانقلعهآذربایجان شرقی
- خارواناآذربایجان شرقی
- خامنهآذربایجان شرقی
- خداجوآذربایجان شرقی
- خسروشاهآذربایجان شرقی
- خمارلوآذربایجان شرقی
- خواجهآذربایجان شرقی
- دریانآذربایجان شرقی
- دوزدوزانآذربایجان شرقی
- زرنقآذربایجان شرقی
- زنوزآذربایجان شرقی
- سرابآذربایجان شرقی
- سردرودآذربایجان شرقی
- سهندآذربایجان شرقی
- سیسآذربایجان شرقی
- سیهرودآذربایجان شرقی
- شبسترآذربایجان شرقی
- شربیانآذربایجان شرقی
- شرفخانهآذربایجان شرقی
- شندآبادآذربایجان شرقی
- شهریارآذربایجان شرقی
- صوفیانآذربایجان شرقی
- عجبشیرآذربایجان شرقی
- قرهآغاجآذربایجان شرقی
- کشکسرایآذربایجان شرقی
- کلوانقآذربایجان شرقی
- کلیبرآذربایجان شرقی
- کوزهکنانآذربایجان شرقی
- گوگانآذربایجان شرقی
- لیلانآذربایجان شرقی
- مبارک آبادآذربایجان شرقی
- مراغهآذربایجان شرقی
- مرندآذربایجان شرقی
- ملکانآذربایجان شرقی
- ملککیانآذربایجان شرقی
- ممقانآذربایجان شرقی
- مهربانآذربایجان شرقی
- میانهآذربایجان شرقی
- نظرکهریزیآذربایجان شرقی
- وایقانآذربایجان شرقی
- ورزقانآذربایجان شرقی
- هادیشهرآذربایجان شرقی
- هریسآذربایجان شرقی
- هشترودآذربایجان شرقی
- هوراندآذربایجان شرقی
- یامچیآذربایجان شرقی
- آواجیقآذربایجان غربی
- ارومیهآذربایجان غربی
- اشنویهآذربایجان غربی
- ایواوغلیآذربایجان غربی
- باروقآذربایجان غربی
- بازرگانآذربایجان غربی
- بوکانآذربایجان غربی
- پلدشتآذربایجان غربی
- پیرانشهرآذربایجان غربی
- تازهشهرآذربایجان غربی
- تکابآذربایجان غربی
- چهاربرجآذربایجان غربی
- خلیفانآذربایجان غربی
- خویآذربایجان غربی
- دیزج دیزآذربایجان غربی
- ربطآذربایجان غربی
- زرآبادآذربایجان غربی
- سردشتآذربایجان غربی
- سروآذربایجان غربی
- سلماسآذربایجان غربی
- سیلوانهآذربایجان غربی
- سیمینهآذربایجان غربی
- سیهچشمهآذربایجان غربی
- شاهیندژآذربایجان غربی
- شوطآذربایجان غربی
- فیرورقآذربایجان غربی
- قرهضیاءالدینآذربایجان غربی
- قطورآذربایجان غربی
- قوشچیآذربایجان غربی
- کشاورزآذربایجان غربی
- گردکشانهآذربایجان غربی
- ماکوآذربایجان غربی
- محمدیارآذربایجان غربی
- محمودآبادآذربایجان غربی
- مرگنلرآذربایجان غربی
- مهابادآذربایجان غربی
- میاندوآبآذربایجان غربی
- میرآبادآذربایجان غربی
- نازک علیاآذربایجان غربی
- نالوسآذربایجان غر بی
- نقدهآذربایجان غربی
- نوشینشهرآذربایجان غربی
- آبیبیگلواردبیل
- اردبیلاردبیل
- اسلامآباد قدیماردبیل
- اصلاندوزاردبیل
- انگوتاردبیل
- بیلهسواراردبیل
- پارسآباداردبیل
- جعفرآباداردبیل
- خلخالاردبیل
- رضیاردبیل
- سرعیناردبیل
- عنبراناردبیل
- قصابهاردبیل
- کلوراردبیل
- کوراییماردبیل
- گرمیاردبیل
- گیویاردبیل
- لاهروداردبیل
- مرادلواردبیل
- مشگینشهراردبیل
- نمیناردبیل
- نیراردبیل
- هشجیناردبیل
- هیراردبیل
- آران و بیدگلاصفهان
- ابریشماصفهان
- ابوزیدآباداصفهان
- اردستاناصفهان
- اژیهاصفهان
- اشت رجاناصفهان
- اصغرآباداصفهان
- اصفهاناصفهان
- افوساصفهان
- انارکاصفهان
- بادروداصفهان
- باغ بهادراناصفهان
- باغشاداصفهان
- بافراناصفهان
- برزکاصفهان
- برفانباراصفهان
- بوئین و میاندشتاصفهان
- بهارانشهراصفهان
- بهارستاناصفهان
- پیربکراناصفهان
- تودشکاصفهان
- تیراناصفهان
- جندقاصفهان
- جوزداناصفهان
- جوشقان قالیاصفهان
- جوشقان و کامواصفهان
- چادگاناصفهان
- چرمهیناصفهان
- چمگرداناصفهان
- حبیب آباد برخواراصفهان
- حسنآباداصفهان
- حنااصفهان
- خالدآباداصفهان
- خمینیشهراصفهان
- خوانساراصفهان
- خوراصفهان
- خوراسگاناصفهان
- خورزوقاصفهان
- داراناصفهان
- دامنهاصفهان
- درچهپیازاصفهان
- دستگرداصفهان
- دولتآباداصفهان
- دهاقاناصفهان
- دهقاصفهان
- دیزیچهاصفهان
- رزوهاصفهان
- رضوانشهرا صفهان
- زازراناصفهان
- زایندهروداصفهان
- زرینشهراصفهان
- زوارهاصفهان
- زیاراصفهان
- زیباشهراصفهان
- سده لنجاناصفهان
- سفیدشهراصفهان
- سگزیاصفهان
- سمیرماصفهان
- سیناصفهان
- شاپورآباداصفهان
- شاهینشهراصفهان
- شهر جدید مجلسیاصفهان
- شهرضااصفهان
- طالخونچهاصفهان
- طرقاصفهان
- عسگراناصفهان
- علویجهاصفهان
- فرخیاصفهان
- فریدونشهراصفهان
- فلاورجاناصفهان
- فولادشهراصفهان
- قمصراصفهان
- قهجاورستاناصفهان
- قهدریجاناصفهان
- کاشاناصفهان
- کرکونداصفهان
- کلیشاد و سودرجاناصفهان
- کمشجهاصفهان
- کمهاصفهان
- کو شکاصفهان
- کوهپایهاصفهان
- کهریزسنگاصفهان
- گرگاباصفهان
- گزاصفهان
- گلپایگاناصفهان
- گلدشتاصفهان
- گلشناصفهان
- گلشهراصفهان
- گوگداصفهان
- لای بیداصفهان
- مبارکهاصفهان
- محمدآباداصفهان
- مشکاتاصفهان
- منظریهاصفهان
- مهاباداصفهان
- میمهاصفهان
- نائیناصفهان
- نجفآباداصفهان
- نصرآباداصفهان
- نطنزاصفهان
- نوشآباداصفهان
- نیاسراصفهان
- نیکآباداصفهان
- ورزنهاصفهان
- ورنامخواستاصفهان
- وزواناصفهان
- ونکاصفهان
- هرنداصفهان
- یزدانشهر نجف آباداصفهان
- آساراالبرز
- اشتهاردالبرز
- تنکمانالبرز
- چهارباغالبرز
- طالقانالبرز
- فردیسالبرز
- کرجالبرز
- کمالشهرالبرز
- کوهسارالبرز
- گرمدرهالبرز
- گلسارالبرز
- ماهدشتالبرز
- محمدشهرالبرز
- مشکیندشتالبرز
- مهستانالبرز
- نظرآبادالبرز
- آبدانانایلام
- آسمانآبادایلام
- ارکوازایلام
- ایلامایلام
- ایوانایلام
- بدرهایلام
- بلاوه تره سفلیایلام
- پهلهایلام
- توحیدایلام
- جعفرآبادایلام
- چشمه شیرینایلام
- چوارایلام
- درهشهرایلام
- دلگشاایلام
- دهلرانایلام
- زرنهایلام
- سرابباغایلام
- سرابلهایلام
- شبابا یلام
- صالحآبادایلام
- لومارایلام
- ماژینایلام
- مورموریایلام
- موسیانایلام
- مهرایلام
- مهرانایلام
- میمهایلام
- آبادبوشهر
- آبپخشبوشهر
- آبدانبوشهر
- امام حسنبوشهر
- انارستانبوشهر
- اهرمبوشهر
- بادولهبوشهر
- برازجانبوشهر
- بردخونبوشهر
- بردستانبوشهر
- بندر دیربوشهر
- بندر دیلمبوشهر
- بندر ریگبوشهر
- بندر سیرافبوشهر
- بندر کنگانبوشهر
- بندر گناوهبوشهر
- بندوبوشهر
- بنکبوشهر
- بوشکانبوشهر
- بوشهربوشهر
- تنگ ارمبوشهر
- جمبوشهر
- چغادکبوشهر
- خارگبوشهر
- خورموجبوشهر
- دالکیبوشهر
- دلواربوشهر
- دوراهکبوشهر
- ریزبوشهر
- سعدآبادبوشهر
- شبانکارهبوشهر
- شنبهبوشهر
- عالیشهربوشهر
- عسلویهبوشهر
- کاکیبوشهر
- کلمهبوشهر
- نخل تقیبوشهر
- وحدتیهبوشهر
- آبسردتهران
- آبعلیتهران
- احمدآباد مستوفیتهران
- ارجمندتهران
- اسلامشهرتهران
- اندیشهتهران
- باغستانتهران
- باقرشهرتهران
- بومهنتهران
- پاکدشتتهران
- پردیستهران
- پرندتهران
- پیشواتهران
- تهرانتهران
- جلیلآبادتهران
- جوادآبادتهران
- چهاردانگهتهران
- حسنآبادتهران
- خاورشهرتهران
- دماوندتهران
- رباطکریمتهران
- رودهنتهران
- شاهدشهرتهران
- شریفآبادتهران
- شمشکتهران
- شهر ریتهران
- شهریارتهران
- صالحیهتهران
- صباشهرتهران
- صفادشتتهران
- فردوسیهتهران
- فرونآبادتهران
- فشمتهران
- فیروزکوهتهران
- قدستهران
- قرچکتهران
- کرشتهتهران
- کهریزکتهران
- کیلانتهران
- گلستانتهران
- لواسانتهران
- ملاردتهران
- نسیمشهرتهران
- نصیرشهرتهران
- وحیدیهتهران
- ورامینتهران
- آلونیچهارمحال و بختیاری
- اردلچهارمحال و بختیاری
- باباحیدرچهارمحال و بختیاری
- بروجنچهارمحال و بختیاری
- بلداجیچهارمحال و بختیاری
- بنچهارمحال و بختیاری
- پردنجانچهارمحال و بختیاری
- تلوردچهارمحال و بختیاری
- جونقانچهارمحال و بختیاری
- چالشترچهارمحال و بختیاری
- چلگردچهارمحال و بختیاری
- چلیچهچهارمحال و بختیاری
- دستناچهارمحال و بختیاری
- دشتکچهارمحال و بختیاری
- سامانچهارمحال و بختیاری
- سرخونچهارمحال و بختیاری
- سردشتچهارمحال و بختیاری
- سفیددشتچهارمحال و بختیاری
- سودجانچهارمحال و بختیاری
- سورشجانچهارمحال و بختیاری
- شلمزارچهارمحال و بختیاری
- شهرکردچهارمحال و بختیاری
- صمصامیچهارمحال و بختیاری
- طاقانکچهارمحال و بختیاری
- فارسانچهارمحال و بختیاری
- فرادنبهچهارمحال و بختیاری
- فرخشهرچهارمحال و بختیاری
- کاجچهارمحال و بختیاری
- کیانچهارمحال و بختیاری
- گندمانچهارمحال و بختیاری
- گوجانچهارمحال و بختیاری
- گهروچهارمحال و بختیاری
- لردگانچهارمحال و بختیاری
- مالخلیفهچهارمحال و بختیاری
- منج نساچهارمحال و بختیاری
- ناغانچهارمحال و بختیاری
- نافچچهارمحال و بختیاری
- وردنجانچهارمحال و بختیاری
- هارونیچهارمحال و بختیاری
- هرچگانچهارمحال و بختیاری
- هفشجانچهارمحال و بختیاری
- یانچشمهچهارمحال و بختیاری
- آرینشهرخراسان جنوبی
- آیسکخراسان جنوبی
- ارسکخراسان جنوبی
- اسدیهخراسان جنوبی
- اسفدنخراسان جنوبی
- اسلامیهخراسان جنوبی
- باغستان علیاخراسان جنوبی
- بشرویهخراسان جنوبی
- بیرجندخراسان جنوبی
- حاجیآبادخراسان جنوبی
- خضری دشتبیاضخراسان جنوبی
- خوسفخراسان جنوبی
- درحخراسان جنوبی
- دیهوکخراسان جنوبی
- زهانخراسان جنوبی
- سرایانخراسان جنوبی
- سربیشهخراسان جنوبی
- سهقلعهخراسان جنوبی
- شوسفخراسان جنوبی
- طبسخراسان جنوبی
- طبس مسیناخراسان جنوبی
- عشقآبادخراسان جنوبی
- فردوسخراسان جنوبی
- قائنخراسان جنوبی
- قهستانخراسان جنوبی
- گزیکخراسان جنوبی
- محمدشهرخراسان جنوبی
- مودخراسان جنوبی
- نهبندانخراسان جنوبی
- نیمبلوکخراسان جنوبی
- احمدآبادخراسان رضوی
- انابدخراسان رضوی
- باجگیرانخراسان رضوی
- باخرزخراسان رضوی
- بارخراسان رضوی
- بایگخراسان رضوی
- بجستانخراسان رضوی
- بردسکنخراسان رضوی
- بیدختخراسان رضوی
- بینالودخراسان رضوی
- تایبادخراسان رضوی
- تربت جامخراسان رضوی
- تربت حیدریهخراسان رضوی
- جغتایخراسان رضوی
- جنگلخراسان رضوی
- چاپشلوخراسان رضوی
- چکنهخراسان رضوی
- چنارانخراسان رضوی
- خروخراسان رضوی
- خلیلآبادخراسان رضوی
- خوافخراسان رضوی
- داورزنخراسان رضوی
- دررودخراسان رضوی
- درگزخراسان رضوی
- دولتآبادخراسان رضوی
- رادکانخراسان رضوی
- رباط سنگخراسان رضوی
- رشتخوارخراسان رضوی
- رضویهخراسان رضوی
- رودآبخراسان رضوی
- ریوشخراسان رضوی
- سبزوارخراسان رضوی
- سرخسخراسان رضوی
- سفیدسنگخراسان رضوی
- سلامیخراسان رضوی
- سلطانآبادخراسان رضوی
- سنگانخراسان رضوی
- سیدآبادخراسان رضوی
- شادمهرخراسان رضوی
- شاندیزخراسان رضوی
- ششتمدخراسان رضوی
- شهرآبادخراسان رضوی
- شهرزوخراسان رضوی
- شهرکهنهخراسان رضوی
- صالحآبادخراسان رضوی
- طرقبهخراسان رضوی
- عشقآبادخراسان رضوی
- فرگ قلعهخراسان رضوی
- فرهادگردخراسان رضوی
- فریمانخراسان رضوی
- فیروزهخراسان رضوی
- فیضآبادخرا سان رضوی
- قاسمآبادخراسان رضوی
- قدمگاهخراسان رضوی
- قلندرآبادخراسان رضوی
- قوچانخراسان رضوی
- کاخکخراسان رضوی
- کاریزخراسان رضوی
- کاشمرخراسان رضوی
- کدکنخراسان رضوی
- کلاتخراسان رضوی
- کندرخراسان رضوی
- گلبهارخراسان رضوی
- گلمکانخراسان رضوی
- گنابادخراسان رضوی
- لطفآبادخراسان رضوی
- مزداوندخراسان رضوی
- مشهدخراسان رضوی
- مشهد ریزهخراسان رضوی
- ملکآبادخراسان رضوی
- نسرخراسان رضوی
- نشتیفانخراسان رضوی
- نصرآبادخراسان رضوی
- نقابخراسان رضوی
- نوخندانخراسان رضوی
- نیشابورخراسان رضوی
- نیلشهرخراسان رضوی
- همتآبادخراسان رضوی
- یونسیخراسان رضوی
- آشخانهخراسان شمالی
- آواخراسان شمالی
- اسفراینخراسان شمالی
- ایورخراسان شمالی
- بجنوردخراسان شمالی
- پیشقلعهخراسان شمالی
- تیتکانلوخراسان شمالی
- جاجرمخراسان شمالی
- چنارانشهرخراسان شمالی
- حصار گرمخانخراسان شمالی
- درقخراسان شمالی
- رازخراسان شمالی
- زیارتخراسان شمالی
- سنخواستخراسان شمالی
- شوقانخراسان شمالی
- شیروانخراسان شمالی
- صفیآبادخراسان شمالی
- فاروجخراسان شمالی
- فیروزهخراسان شمالی
- قاضیخراسان شمالی
- گرمهخراسان شمالی
- لوجلیخراسان شمالی
- آبادانخوزستان
- آبژدا نخوزستان
- آغاجاریخوزستان
- ابوحمیظهخوزستان
- اروندکنارخوزستان
- الوانخوزستان
- الهاییخوزستان
- امیدیهخوزستان
- اندیمشکخوزستان
- اهوازخوزستان
- ایذهخوزستان
- باغملکخوزستان
- بستانخوزستان
- بندر امام خمینیخوزستان
- بندر ماهشهرخوزستان
- بهبهانخوزستان
- بیدروبهمرکزیخوزستان
- ترکالکیخوزستان
- تشانخوزستان
- جایزانخوزستان
- جنتمکانخوزستان
- چغامیشخوزستان
- چم گلکخوزستان
- چمرانخوزستان
- چویبدهخوزستان
- حر ریاحیخوزستان
- حسینیهخوزستان
- حمیدیهخوزستان
- خرمشهرخوزستان
- دارخوینخوزستان
- دزآبخوزستان
- دزفولخوزستان
- دهدزخوزستان
- رامشیرخوزستان
- رامهرمزخوزستان
- رفیعخوزستان
- زهرهخوزستان
- سالندخوزستان
- سردشتخوزستان
- سمالهخوزستان
- سوسنگردخوزستان
- سیاهمنصورخوزستان
- شادگانخوزستان
- شمسآبادخوزستان
- شوشخوزستان
- شوشترخوزستان
- شهرک حمزهخوزستان
- شیبانخوزستان
- صالح شهرخوزستان
- صفیآبادخوزستان
- صیدونخوزستان
- فتحالمبینخوزستان
- قلعه خواجهخوزستان
- قلعهتلخوزستان
- کوت سیدنعیم طالقانیخوزستان
- کوت عبداللهخوزستان
- گتوندخوزستان
- گوریهخوزستان
- لالیخوزستان
- مسجدسلیمانخوزستان
- مشراگهخوزستان
- مقاومتخوزستان
- ملاثانیخوزستان
- منصوریهخوزستان
- میانرودخوزستان
- میانکوهخوزستان
- میداودخوزستان
- مینوشهرخوزستان
- ویسخوزستان
- هفتکلخوزستان
- هندیجانخوزستان
- هویزهخوزستان
- آببرزنجان
- ابهرزنجان
- ارمغانخانهزنجان
- چورزقزنجان
- حلبزنجان
- خرمدرهزنجان
- دندیزنجان
- زرینآبادزنجان
- زرینرودزنجان
- زنجانزنجان
- سجاسزنجان
- سلطانیهزنجان
- سهروردزنجان
- صایینقلعهزنجان
- قیدارزنجان
- کرسفزنجان
- گرمابزنجان
- ماهنشانزنجان
- نیکپیزنجان
- هیدجزنجان
- آرادانسمنان
- امیریهسمنان
- ایوانکیسمنان
- بسطامسمنان
- بیارجمندسمنان
- دامغانسمنان
- درجزینسمنان
- دیباجسمنان
- رودیانسمنان
- سرخهسمنان
- سمنانسمنان
- شاهرودسمنان
- شهمیرزادسمنان
- کلاته خیجسمنان
- کلاته رودبارسمنان
- کهنآبادسمنان
- گرمسارسمنان
- مجنسمنان
- مهدیشهرسمنان
- میامیسمنان
- آسپیچ محمدیسیستان و بلوچستان
- ادیمیسیستان و بلوچستان
- اسپکهسیستان و بلوچستان
- ایرانشهرسیستان و بلوچستان
- بریسسیستان و بلوچستان
- بزمانسیستان و بلوچستان
- بمپورسیستان و بلوچستان
- بنتسیستان و بلوچستان
- بنجارسیستان و بلوچستان
- پیشینسیستان و بلوچستان
- جالقسیستان و بلوچستان
- چابهارسیستان و بلوچستان
- خاشسیستان و بلوچستان
- دوستمحمدسیستان و بلوچستان
- راسکسیستان و بلوچستان
- رامشارسیستان و بلوچستان
- زابلسیستان و بلوچستان
- زاهدانسیستان و بلوچستان
- زرآبادسیستان و بلوچستان
- زهکسیستان و بلوچستان
- سراوانسیستان و بلوچستان
- سربازسیستان و بلوچستان
- سورانسیستان و بلوچستان
- سیبسیستان و بلوچستان
- سیرکانسیستان و بلوچستان
- شهرک علیاکبرسیستان و بلوچستان
- فنوجسیستان و بلوچستان
- قصرقندسیستان و بلوچستان
- کنارکسیستان و بلوچستان
- گشتسیستان و بلوچستان
- گلمورتیسیستان و بلوچستان
- محمدآبادسیستان و بلوچستان
- مهرستانسیستان و بلوچستان
- میرجاوهسیستان و بلوچستان
- نصرتآبادسیستان و بلوچستان
- نگورسیستان و بلوچستان
- نوکآبادسیستان و بلوچستان
- نیکشهرسیستان و بلوچستان
- هیدوچسیستان و بلوچستان
- آبادهفارس
- آباده طشکفارس
- اردفارس
- اردکانفارس
- ارسنجانفارس
- استهبانفارس
- اسیرفارس
- اشکنانفارس
- افزرفارس
- اقلیدفارس
- اوزفارس
- اهلفارس
- ایجفارس
- ایزدخواستفارس
- باب انارفارس
- بابامنیرفارس
- بایگانفارس
- بنارویهفارس
- بواناتفارس
- بهمنفارس
- بیرمفارس
- بیضافارس
- جنتشهرفارس
- جویمفارس
- جهرمفارس
- حاجیآبادفارس
- حسامیفارس
- حسنآبادفارس
- خانه زنیانفارس
- خانیمنفارس
- خاورانفارس
- خرامهفارس
- خشتفارس
- خنجفارس
- خورفارس
- خوزیفارس
- خومهزارفارس
- دارابفارس
- داریانفارس
- دبیرانفارس
- دژکردفارس
- دوبرجیفارس
- دوزهفارس
- دهرمفارس
- رامجردفارس
- رونیزفارس
- زاهدشهرفارس
- زرقانفارس
- سدهفارس
- سروستانفارس
- سعادتشهرفارس
- سلطانشهرفارس
- سورمقفارس
- سیدانفارس
- ششدهفارس
- شهر جدید صدرافارس
- شهرپیرفارس
- شهرک امامفارس
- شیرازفارس
- صغادفارس
- صفاشهرفارس
- علامرودشتفارس
- عمادشهرفارس
- فاروقفارس
- فتح آبادفارس
- فدامیفارس
- فراشبندفارس
- فسافارس
- فیروزآبادفارس
- فیشورفارس
- قائمیهفارس
- قادرآبادفارس
- قرهبلاغفارس
- قطبآبادفارس
- قطرویهفارس
- قیرفارس
- کازرونفارس
- کامفیروزفارس
- کرهایفارس
- کنارتختهفارس
- کوارفارس
- کوپنفارس
- کوهنجانفارس
- گراشفارس
- گلهدارفارس
- گویمفارس
- لارفارس
- لامردفارس
- لپوئیفارس
- لطیفیفارس
- مادرسلیمانفارس
- مرودشتفارس
- مزایجانفارس
- مشکانفارس
- مصیریفارس
- مهرفارس
- میانشهرفارس
- میمندفارس
- نوبندگانفارس
- نوجینفارس
- نودانفارس
- نورآبادفارس
- نیریزفارس
- والاشهرفارس
- وراویفارس
- هماشهرفارس
- آبگرمقزوین
- آبیکقزوین
- آوجقزوین
- ارداققزوین
- اسفرورینقزوین
- اقبالیهقزوین
- الوندقزوین
- بوئینزهراقزوین
- بیدستانقزوین
- تاکستانقزوین
- خاکعلیقزوین
- خرمدشتقزوین
- دانسفهانقزوین
- رازمیانقزوین
- سگزآبادقزوین
- سیردانقزوین
- شالقزوین
- ضیاءآبادقزوین
- قزوینقزوین
- کوهینقزوین
- محمدیهقزوین
- محمودآباد نمونهقزوین
- معلمکلایهقزوین
- نرجهقزوین
- جعفریهقم
- دستجردقم
- سلفچگانقم
- قاهانقم
- قمقم
- قنواتقم
- کهکقم
- آرمردهکردستان
- اورامانکردستان
- بابارشانیکردستان
- بانهکردستان
- برده رشهکردستان
- بلبانآبادکردستان
- بویین سفلیکردستان
- بیجارکردستان
- پیرتاجکردستان
- توپآغاجکردستان
- چنارهکردستان
- حسنآباد یاسوکندکردستان
- دزجکردستان
- دلبرانکردستان
- دهگلانکردستان
- دیواندرهکردستان
- زرینهکردستان
- سروآبادکردستان
- سریشآبادکردستان
- سقزکردستان
- سنندجکردستان
- شویشهکردستان
- صاحبکردستان
- قروهکردستان
- کامیارانکردستان
- کانیدینارکردستان
- کانیسورکردستان
- مریوانکردستان
- موچشکردستان
- اختیارآبادکرمان
- ارزوئیهکرمان
- امینشهرکرمان
- انارکرمان
- اندوهجردکرمان
- باغینکرمان
- بافتکرمان
- بردسیرکرمان
- برواتکرمان
- بزنجانکرمان
- بلوردکرمان
- بلوککرمان
- بمکرمان
- بهرمانکرمان
- پاریزکرمان
- جبالبارزکرمان
- جوپارکرمان
- جوزمکرمان
- جیرفتکرمان
- چترودکرمان
- خاتونآبادکرمان
- خانوککرمان
- خرسندکرمان
- خواجو شهرکرمان
- درب بهشتکرمان
- دشتکارکرمان
- دوساریکرمان
- دهجکرمان
- دهستان بزنجانکرمان
- رابرکرمان
- راورکرمان
- راینکرمان
- رفسنجانکرمان
- ریحانشهرکرمان
- زرندکرمان
- زنگیآبادکرمان
- زهکلوتکرمان
- زیدآبادکرمان
- سیرجانکرمان
- سیریزکرمان
- شهدادکرمان
- شهربابککرمان
- صفائیهکرمان
- عنبرآبادکرمان
- فاریابکرمان
- فهرجکرمان
- قلعهگنجکرمان
- کاظمآبادکرمان
- کرمانکرمان
- کشکوئیهکرمان
- کوهبنانکرمان
- کهنوجکرمان
- کیانشهرکرمان
- گلبافکرمان
- گلزارکرمان
- لاله زارکرمان
- ماهانکرمان
- محمدآبادکرمان
- محمدآباد گنبکیکرمان
- محیآبادکرمان
- مردهککرمان
- مس سرچشمهکرمان
- منوجانکرمان
- نجفشهرکرمان
- نرماشیرکرمان
- نظامشهرکرمان
- نگارکرمان
- نودژکرمان
- هجدککرمان
- هماشهرکرمان
- هنزاکرمان
- یزدانشهرکرمان
- ازگلهکرمانشاه
- اسلامآباد غربکرمانشاه
- بانهورهکرمانشاه
- باینگانکرمانشاه
- بیستونکرمانشاه
- پاوهکرمانشاه
- تازهآبادکرمانشاه
- جوانرودکرمانشاه
- حمیلکرمانشاه
- روانسرکرمانشاه
- ریژاوکرمانشاه
- سرپل ذهابکرمانشاه
- سرمستکرمانشاه
- سطرکرمانشاه
- سنقرکرمانشاه
- سومارکرمانشاه
- شروینهکرمانشاه
- صحنهکرمانشاه
- قصر شیرینکرمانشاه
- قلعهکرمانشاه
- کرمانشاهکرمانشاه
- کرند غربکرمانشاه
- کنگاورکرمانشاه
- کوزرانکرمانشاه
- گودینکرمانشاه
- گهوارهکرمانشاه
- گیلانغربکرمانشاه
- ماهیدشتکرمانشاه
- میانراهانکرمانشاه
- نودشهکرمانشاه
- نوسودکرمانشاه
- هرسینکرمانشاه
- هلشیکرمانشاه
- باشتکهگیلویه و بویراحمد
- پاتاوهکهگیلویه و بویراحمد
- چرامکهگیلویه و بویراحمد
- چیتابکهگیلویه و بویراحمد
- دوگنبدانکهگیلویه و بویراحمد
- دهدشتکهگیلویه و بویراحمد
- دیشموککهگیلویه و بویراحمد
- سوقکهگیلویه و بویراحمد
- سیسختکهگیلویه و بویراحمد
- قلعه رئیسیکهگیلویه و بویراحمد
- گراب سفلیکهگیلویه و بویراحمد
- لندهکهگیلویه و بویراحمد
- لیکککهگیلویه و بویراحمد
- مادوان علیاکهگیلویه و بویراحمد
- مارگونکهگیلویه و بویراحمد
- محله چینیهاکهگیلویه و بویراحمد
- یاسوجکهگیلویه و بویراحمد
- آزادشهرگلستان
- آققلاگلستان
- انبارآلومگلستان
- اینچهبرونگلستان
- بندر ترکمنگلستان
- بندر گزگلستان
- تاتار علیاگلستان
- خانببینگلستان
- دلندگلستان
- رامیانگلستان
- سرخنکلاتهگلستان
- سنگدوینگلستان
- سیمینشهرگلستان
- علیآباد کتولگلستان
- فاضلآبادگلستان
- فراغیگلستان
- قرقگلستان
- کردکویگلستان
- کلالهگلستان
- گالیکشگلستان
- گرگانگلستان
- گمیشانگلستان
- گنبد کاووسگلستان
- مراوهتپهگلستان
- مزرعهگلستان
- مینودشتگلستان
- نگینشهرگلستان
- نوده خاندوزگلستان
- نوکندهگلستان
- آستاراگیلان
- آستانه اشرفیهگیلان
- احمدسرگورابگیلان
- اسالمگیلان
- اطاقورگیلان
- املشگیلان
- بازارجمعهگیلان
- برهسرگیلان
- بندر ان زلیگیلان
- بندر کیاشهرگیلان
- پرهسرگیلان
- توتکابنگیلان
- جیرندهگیلان
- چابکسرگیلان
- چاف و چمخالهگیلان
- چوبرگیلان
- حویقگیلان
- خشکبیجارگیلان
- خمامگیلان
- دیلمانگیلان
- رانکوهگیلان
- رحیمآبادگیلان
- رستمآبادگیلان
- رشتگیلان
- رضوانشهرگیلان
- رودبارگیلان
- رودبنهگیلان
- رودسرگیلان
- سنگرگیلان
- سیاهکلگیلان
- شفتگیلان
- شلمانگیلان
- صومعهسراگیلان
- فومنگیلان
- کلاچایگیلان
- کوچصفهانگیلان
- کوملهگیلان
- گوراب زرمیخگیلان
- لاهیجانگیلان
- لشت نشاگیلان
- لنگرودگیلان
- لوشانگیلان
- لولمانگیلان
- لوندویلگیلان
- لیسارگیلان
- ماسالگیلان
- ماسولهگیلان
- ماکلوانگیلان
- مرجغلگیلان
- منجیلگیلان
- واجارگاهگیلان
- هشتپرگیلان
- ازنالرستان
- اشترینانلرستان
- الشترلرستان
- الیگودرزلرستان
- بروجردلرستان
- بیرانشهرلرستان
- پل دخترلرستان
- چالانچولانلرستان
- چقابللرستان
- خرمآبادلرستان
- درب گنبدلرستان
- دورودلرستان
- زاغهلرستان
- سپیددشتلرستان
- سرابدورهلرستان
- شولآبادلرستان
- فیروزآبادلرستان
- کونانیلرستان
- کوهدشتلرستان
- گراب لکستانلرستان
- معمولانلرستان
- مومنآبادلرستان
- نورآبادلرستان
- ویسیانلرستان
- هفتچشمهلرستان
- آلاشتمازندران
- آملمازندران
- ارطهمازندران
- اکندمازندران
- امامزاده عبداللهمازندران
- امیرکلامازندران
- ایزدشهرمازندران
- بابلمازندران
- بابلسرمازندران
- بلدهمازندران
- بهشهرمازندران
- بهنمیرمازندران
- پایین هولارمازندران
- پل سفیدمازندران
- پولمازندران
- تنکابنمازندران
- جویبارمازندران
- چالوسمازندران
- چمستانمازندران
- خرمآبادمازندران
- خلیلشهرمازندران
- خوشرودپیمازندران
- دابودشتمازندران
- رامسرمازندران
- رستمکلامازندران
- رویانمازندران
- رینهمازندران
- زرگرمحلهمازندران
- زیرآبمازندران
- ساریمازندران
- سرخرودمازندران
- سلمانشهرمازندران
- سورکمازندران
- شیرگاهمازندران
- شیرودمازندران
- طبقدهمازندران
- عباسآبادمازندران
- فرحآبادمازندران
- فریدونکنارمازندران
- فریممازندران
- قائمشهرمازندران
- کتالم و ساداتشهرمازندران
- کجورمازندران
- کلارآبادمازندران
- کلاردشتمازندران
- کلهبستمازندران
- کوهیخیلمازندران
- کیاسرمازندران
- کیاکلامازندران
- گتابمازندران
- گزنکمازندران
- گلوگاهمازندران
- محمودآبادمازندران
- مرزنآبادمازندران
- مرزیکلامازندران
- نشتارودمازندران
- نکامازندران
- نمکآبرودمازندران
- نورمازندران
- نوشهرمازندران
- هچیرودمازندران
- آستانهمرکزی
- آشتیانمرکزی
- آوهمرکزی
- اراکمرکزی
- پرندکمرکزی
- تفرشمرکزی
- تورهمرکزی
- جاورسیانمرکزی
- خشکرودمرکزی
- خمینمرکزی
- خنجینمرکزی
- خندابمرکزی
- داوودآبادمرکزی
- دلیجانمرکزی
- رازقانمرکزی
- زاویهمرکزی
- ساروقمرکزی
- ساوهمرکزی
- سنجانمرکزی
- شازندمرکزی
- شهبازمرکزی
- شهر جدید امیرکبیرمرکزی
- غرقآبادمرکزی
- فرمهینمرکزی
- قورچیباشیمرکزی
- کارچانمرکزی
- کرهرودمرکزی
- کمیجانمرکزی
- مأمونیهمرکزی
- محلاتمرکزی
- مهاجرانمرکزی
- میلاجردمرکزی
- نراقمرکزی
- نوبرانمرکزی
- نیمورمرکزی
- هندودرمرکزی
- ابوموسیهرمزگان
- بستکهرمزگان
- بندر چارکهرمزگان
- بندر خمیرهرمزگان
- بندر کنگهرمزگان
- بندر لافتهرمزگان
- بندر لنگههرمزگان
- بندرعباسهرمزگان
- بیکاهرمزگان
- پارسیانهرمزگان
- تازیان پایینهرمزگان
- تختهرمزگان
- تنب بزرگهرمزگان
- تیرورهرمزگان
- جاسکهرمزگان
- جناحهرمزگان
- حاجیآبادهرمزگان
- درگهانهرمزگان
- دشتیهرمزگان
- دهبارزهرمزگان
- رویدرهرمزگان
- زیارتعلیهرمزگان
- سردشتهرمزگان
- سرگز احمدیهرمزگان
- سندرکهرمزگان
- سوزاهرمزگان
- سیریکهرمزگان
- طبلهرمزگان
- فارغانهرمزگان
- فینهرمزگان
- قشمهرمزگان
- قلعه قاضیهرمزگان
- کوخردهرنگهرمزگان
- کوهستکهرمزگان
- کوهیجهرمزگان
- کیشهرمزگان
- گروکهرمزگان
- گوهرانهرمزگان
- لمزانهرمزگان
- مینابهرمزگان
- هرمزهرمزگان
- هشتبندیهرمزگان
- آجینهمدان
- ازندریانهمدان
- اسدآبادهمدان
- برزولهمدان
- بهارهمدان
- تویسرکانهمدان
- جورقانهمدان
- جوکارهمدان
- داقداقآبادهمدان
- دمقهمدان
- دهستان سلگیهمدان
- رزنهمدان
- زنگنههمدان
- سامنهمدان
- سرکانهمدان
- شیرینسوهمدان
- صالحآبادهمدان
- فامنینهمدان
- فرسفجهمدان
- فیروزانهمدان
- قروه درجزینهمدان
- قهاوندهمدان
- کبودرآهنگهمدان
- گلتپههمدان
- گیانهمدان
- لالجینهمدان
- مریانجهمدان
- ملایرهمدان
- مهاجرانهمدان
- نهاوندهمدان
- همدانهمدان
- ابرکوهیزد
- احمدآبادیزد
- اردکانیزد
- اشکذریزد
- بافقیزد
- بخیزد
- بفروییهیزد
- بهابادیزد
- تفتیزد
- حمیدیایزد
- خضرآبادیزد
- رضوانشهریزد
- زارچیزد
- شاهدیهیزد
- عقدایزد
- مروستیزد
- مهردشتیزد
- مهریزیزد
- میبدیزد
- ندوشنیزد
- نیریزد
- هراتیزد
- یزدیزد
بدون استان؛ همهٔ شهرها با نام استانشان
شهری انتخاب نشده
<CitySelect value={city} onChange={(city, province) => { setCity(city); setProvince(province); }} />| نام | توضیح، نوع و پیشفرض |
|---|---|
value / defaultValue | مقدار فرم |
onChange | با هر تغییر، کل نشانی |
errors | خطای هر فیلد |
name | پیشوند نام فیلدها برای فرم HTML |
legend | عنوان گروه فیلدها |
labels | برچسب دلخواه هر فیلد |
map | نقشهٔ ایران برای انتخاب استان |
required | همه اجباری جز واحد |
disabled | غیرفعال کردن همهٔ فیلدها |
ابزارهای فهرست شهرها
فهرست شهرها در @kashi-ui/persian است و بدون React هم کار میکند:
import { CITIES, getCities, getCityProvinces, formatAddress } from "@kashi-ui/persian";
getCities("قم"); // ["جعفریه", "دستجرد", "سلفچگان", "قاهان", "قم", "قنوات", "کهک"]
getCityProvinces("کاشان"); // ["اصفهان"]
Object.keys(CITIES).length; // ۳۱ استان
دسترسپذیری
- فیلدها در یک
fieldsetباlegendهستند و صفحهخوان نام گروه را همراه هر فیلد میخواند. - هر فیلد
autocompleteاستاندارد دارد (street-address،postal-codeو …) تا مرورگر نشانی ذخیرهشده را پیشنهاد دهد. - فیلد اختیاری با «اختیاری» مشخص شده، نه فقط با نبود ستاره.
- استان و شهر با الگوی Combobox در WAI-ARIA کار میکنند و نقشه با کلیدهای جهتدار.
فهرست ۱۲۷۸ شهر در ۳۱ استان از ویکیداده (مالکیت عمومی، CC0) گرفته شده است. شهرهای تازهتأسیس ممکن است هنوز در آن نباشند؛ برای همین شهر خارج از فهرست هم پذیرفته میشود.
وب کامپوننت
همین کامپوننت بدون React، برای HTML، وردپرس، Vue، Svelte و Angular: <kashi-address-form> در @kashi-ui/elements. فیلدها بهشکل shipping[province]، shipping[city]، … ارسال میشوند.
نصب
بدون ابزار ساخت، این دو خط را در <head> صفحه بگذارید:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@kashi-ui/css/dist/kashi.css">
<script type="module" src="https://cdn.jsdelivr.net/npm/@kashi-ui/elements/dist/cdn/kashi-elements.js"></script>یا با npm، و فقط همین بخش را وارد کنید:
npm i @kashi-ui/elements @kashi-ui/cssimport "@kashi-ui/css";
import "@kashi-ui/elements/map.js";نمونه
<kashi-address-form name="shipping" legend="نشانی تحویل"></kashi-address-form>ویژگیها
| نام | توضیح، نوع و پیشفرض |
|---|---|
name | پیشوند نام فیلدها در فرم |
legend | عنوان گروه فیلدها |
map | نقشهٔ ایران کنار فرم |
required | همهٔ فیلدها اختیاری |
disabled | غیرفعال |
label-province، label-city، … | برچسب دلخواه هر فیلد |
رویدادها و JavaScript
| نام | توضیح |
|---|---|
kashi-change | detail: { value: { province, city, street, plaque, unit, postalCode } } |
element.value | خواندن و پر کردن نشانی |
element.errors | خطای هر فیلد: { plaque: "پلاک را بنویسید." } |