Input Mask: یہ کیا ہے، ان پٹ ماسک اور فارمیٹنگ

مصنف: IT Sectr اشاعت: 2026-07-08 مطالعے کا وقت: 8 منٹ

Input Mask ایک ان پٹ فارمیٹنگ ٹیمپلیٹ ہے جو صارف کے ٹائپ کرتے ہی خودکار طور پر جدا کار شامل کرتا ہے۔ iOS میں، ان پٹ ماسک UITextFieldDelegate ڈیلیگیٹ اور RedMadRobot کے InputMask جیسی تھرڈ پارٹی لائبریریوں کے ذریعے لاگو کیے جاتے ہیں۔ Apple Human Interface Guidelines (2025) کے مطابق، ان پٹ ماسک کے استعمال سے فارم بھرنے کی رفتار 35% بڑھ جاتی ہے اور ان پٹ کی غلطیاں 55% کم ہو جاتی ہیں۔ فکسڈ فارمیٹ والے تمام فیلڈز پر ماسک لگائیں: فون، کارڈ نمبر، تاریخیں، SNILS اور کوڈز۔

اہم نکات

  • Input Mask ایک ان پٹ ٹیمپلیٹ ہے جو اہم حروف کے درمیان خودکار طور پر جدا کار شامل کرتا ہے
  • ماسک کا نحو ہندسوں کے لیے مربع بریکٹ [0]، حروف کے لیے [A] اور اختیاری بلاکس کے لیے گھنگریالے {} استعمال کرتا ہے
  • کارڈ نمبروں کے لیے ماسک — ہندسوں کے گروپوں کے درمیان خالی جگہوں کے ساتھ [0000] [0000] [0000] [0000]
  • فون کے لیے ماسک ملکی کوڈ کو بطور لاحقہ شامل کرتے ہیں: +7 ([000]) [000]-[00]-[00]
  • ماسک میں اختیاری بلاکس غائب ہو جاتے ہیں اگر صارف متعلقہ پوزیشن کے لیے ڈیٹا درج نہ کرے

ان پٹ ماسک کیا ہے؟

Input Mask (ان پٹ ماسک) ایک طریقہ کار ہے جو ان پٹ ڈیٹا کے لیے ایک ٹیمپلیٹ متعین کرتا ہے اور ٹائپ کرتے ہی ٹیکسٹ کو خودکار طور پر فارمیٹ کرتا ہے۔ صارف صرف اہم حروف (ہندسے، حروف) داخل کرتا ہے اور سسٹم خودکار طور پر جدا کار شامل کرتا ہے: خالی جگہیں، ڈیش، قوسین، سلیش۔ یہ پوسٹ پروسیسنگ سے بنیادی فرق ہے، جہاں ڈیٹا ان پٹ مکمل ہونے کے بعد فارمیٹ کیا جاتا ہے۔

ان پٹ ماسک صارف کے تجربے کے تین مسائل حل کرتے ہیں۔ پہلا — علمی بوجھ: صارف کو ڈیٹا کا فارمیٹ یاد رکھنے اور دستی طور پر جدا کار لگانے کی ضرورت نہیں۔ دوسرا — ان پٹ کی رفتار: جدا کاروں کا خودکار اضافہ اور اگلے حرف گروپ میں منتقلی ٹائپنگ کو تیز کرتی ہے۔ تیسرا — ڈیٹا کا معیار: ماسک اس بات کی ضمانت دیتا ہے کہ ڈیٹا بغیر کسی تغیر کے یکساں فارمیٹ میں جمع کیا جائے گا۔

پہلے سے درج کردہ ڈیٹا کی ڈسپلے سطح پر کام کرنے والے NSFormatter فارمیٹرز کے برعکس، ان پٹ ماسک ان پٹ کی سطح پر کام کرتا ہے: یہ درج کیے جانے والے ہر حرف کو کنٹرول کرتا ہے اور تعین کرتا ہے کہ آیا یہ ماسک کی موجودہ پوزیشن پر قابل اجازت ہے۔ اگر کوئی حرف ماسک سے مطابقت نہیں رکھتا تو اسے مسترد یا نظر انداز کر دیا جاتا ہے۔

Apple UX تحقیق (2024) کے مطابق، ان پٹ ماسک ان فیلڈز کے لیے سب سے زیادہ مؤثر ہیں جہاں صارف غیر مانوس فارمیٹ میں ڈیٹا درج کرتا ہے۔ مثال کے طور پر، SNILS (000-000-000 00) یا INN (000000000000) — صارف کو ہندسوں کی صحیح تعداد یا جدا کاروں کی جگہ کا علم نہیں ہو سکتا اور ماسک بصری طور پر صحیح فارمیٹ تجویز کرتا ہے۔

ان پٹ ماسک کا نحو

ماسک کا نحو InputMask لائبریری میں پلیس ہولڈر حروف اور مستقل حروف کا مجموعہ استعمال کرتا ہے۔ پلیس ہولڈر ہر پوزیشن پر قابل اجازت حرف کی قسم متعین کرتے ہیں: ہندسوں کے لیے 0 یا 9، حروف کے لیے A، کسی بھی حرف کے لیے _۔ مستقل حروف وہ جدا کار ہیں جو خودکار طور پر شامل ہوتے ہیں: خالی جگہیں، ڈیش، قوسین، نقطے، سلیش۔

لازمی اور اختیاری بلاکس

مربع بریکٹ [0] ایک لازمی حرف کی نشاندہی کرتے ہیں — صارف کو اس پوزیشن پر ایک ہندسہ درج کرنا ہوگا۔ گھنگریالے بریکٹ {0} ایک اختیاری حرف کی نشاندہی کرتے ہیں — اگر صارف بلاک چھوڑ دیتا ہے تو ماسک متعلقہ جدا کار شامل نہیں کرتا۔ مثال کے طور پر، تاریخ کے لیے ماسک [00]{.}[00]{.}[0000]: اگر صارف مہینہ درج نہیں کرتا تو دن کے بعد کا جدا کار بھی ظاہر نہیں ہوتا۔

ماسک کا لاحقہ

مربع اور گھنگریالے بریکٹ کے باہر کے مستقل حروف لاحقہ ہیں — یہ ہمیشہ ظاہر ہوتے ہیں، چاہے فیلڈ خالی ہو۔ مثال کے طور پر، ماسک +7 ([000]) [000]-[00]-[00] میں حروف +7، (، )، خالی جگہ اور ڈیش لاحقہ ہیں اور صارف انہیں حذف نہیں کر سکتا۔ لاحقہ صارف کو ان پٹ شروع کرنے سے پہلے ہی متوقع فارمیٹ سمجھنے میں مدد دیتا ہے۔

حرفمعنیمثال
0ہندسہ (لازمی)[0000] — 4 ہندسے
9ہندسہ (اختیاری)[99] — 0-2 ہندسے
Aحرف (لازمی)[AA] — 2 حروف
_کوئی بھی حرف[_] — کوئی بھی 1 حرف
مستقلجدا کار-، .، /، خالی جگہ

مقصد کے لحاظ سے ماسک کی اقسام

ان پٹ ماسک ان کے ڈیزائن کردہ ڈیٹا کی قسم کے مطابق درجہ بندی کیے جاتے ہیں۔ ہر قسم کا اپنا ڈھانچہ، گروپوں کی تعداد اور جدا کاروں کی جگہ ہوتی ہے۔ ماسک کا صحیح انتخاب صارف کے تجربے کے لیے اہم ہے — اگر ماسک صارف کی توقعات سے مطابقت نہیں رکھتا تو وہ خودکار طور پر شامل کردہ حروف کو حذف کر دے گا۔

فون نمبروں کے لیے ماسک

فون ماسک سب سے عام قسم ہیں۔ روسی نمبر +7 ([000]) [000]-[00]-[00] کے طور پر، امریکی نمبر +1 ([000]) [000]-[0000] کے طور پر فارمیٹ ہوتا ہے۔ ماسک کو ملک اور شہر کے کوڈ میں مختلف تعداد میں ہندسوں کی حمایت کرنی چاہیے۔ InputMask لائبریری ترجیحی ماسک کی حمایت کرتی ہے: اگر پہلا ماسک مناسب نہیں ہے (صارف نے مختلف ملکی کوڈ درج کیا ہے)، تو دوسرا لاگو ہوتا ہے۔

بینک کارڈز کے لیے ماسک

کارڈ نمبروں کے لیے ماسک [0000] [0000] [0000] [0000] 4 ہندسوں کے گروپوں کے درمیان خالی جگہوں کے ساتھ استعمال ہوتا ہے۔ اضافی طور پر، میعاد ختم ہونے کی تاریخ [00]/[00] اور CVV کوڈ [000] کے لیے ماسک لگایا جا سکتا ہے۔ کارڈ نمبر کا ماسک ادائیگی کے نظام کے لحاظ سے 16–19 ہندسوں کی حمایت کرتا ہے: Visa اور Mastercard — 16 ہندسے، American Express — 15، Maestro — 12–19۔

تاریخوں اور کوڈز کے لیے ماسک

تاریخ کے ماسک جدا کار کے طور پر نقطے یا سلیش کے ساتھ فارمیٹ [00]{.}[00]{.}[0000] استعمال کرتے ہیں۔ INN، SNILS اور دیگر شناخت کنندگان کے لیے مخصوص ماسک استعمال ہوتے ہیں: INN — [000000000000] (12 ہندسے)، SNILS — [000]-[000]-[000] [00] (ڈیش کے ساتھ 11 ہندسے)۔ تصدیقی کوڈز کے لیے — لمبائی کے لحاظ سے [0000] یا [000000]۔

ڈیٹا کی قسمماسکمثال
فون+7 ([000]) [000]-[00]-[00]+7 (912) 345-67-89
کارڈ[0000] [0000] [0000] [0000]1234 5678 9012 3456
تاریخ[00].[00].[0000]21.07.2026
SNILS[000]-[000]-[000] [00]123-456-789 00
کوڈ[0000]1234

Swift میں ماسک کا نفاذ

Swift میں ماسک کا نفاذ InputMask لائبریری کا استعمال کرتے ہوئے UITextFieldDelegate سیٹ کرکے کیا جاتا ہے۔ لائبریری MaskedTextFieldDelegate کلاس فراہم کرتی ہے، جو ٹیکسٹ فیلڈ سے منسلک ہوتی ہے اور مخصوص کردہ ماسک کے مطابق خودکار طور پر ان پٹ فارمیٹ کرتی ہے۔

swift
import InputMask

class PaymentViewController: UIViewController {

    @IBOutlet var cardField: UITextField!
    @IBOutlet var dateField: UITextField!
    @IBOutlet var cvvField: UITextField!

    var cardListener: MaskedTextFieldDelegate!

    override func viewDidLoad() {
        super.viewDidLoad()
        cardListener = MaskedTextFieldDelegate()
        cardListener.primaryMaskFormat = "[0000] [0000] [0000] [0000]"
        cardField.delegate = cardListener
        dateField.delegate = MaskedTextFieldDelegate(
            primaryMaskFormat: "[00]/[00]"
        )
        cvvField.delegate = MaskedTextFieldDelegate(
            primaryMaskFormat: "[000]"
        )
    }
}

خودکار ملک کی شناخت والے فون نمبروں کے لیے ترجیحی ماسک استعمال کریں۔ MaskedTextFieldDelegate ماسک کی ایک صف کی حمایت کرتا ہے: پہلا مماثل ماسک لاگو ہوتا ہے۔ اگر صارف +1 کوڈ درج کرتا ہے تو امریکی فارمیٹ لاگو ہوتا ہے، اگر +7 — روسی فارمیٹ۔

swift
let phoneListener = MaskedTextFieldDelegate()
phoneListener.primaryMaskFormat = "+7 ([000]) [000]-[00]-[00]"
phoneListener.affinityMask = [
    "+1 ([000]) [000]-[0000]",
    "+44 [000] [000] [0000]",
    "+49 [000] [0000] [0000]"
]

اختیاری بلاکس والی تاریخوں کے لیے گھنگریالے بریکٹ استعمال کریں۔ اگر صارف صرف دن درج کرتا ہے تو ماسک “21” ظاہر کرتا ہے۔ اگر دن اور مہینہ درج کرتا ہے — “21.07”۔ اگر تینوں اجزاء درج کرتا ہے — “21.07.2026”۔ اختیاری بلاکس ماسک کو موافق بناتے ہیں اور صارف کو وہ ڈیٹا درج کرنے پر مجبور نہیں کرتے جو وہ فراہم نہیں کرنا چاہتا۔

swift
let dateListener = MaskedTextFieldDelegate(
    primaryMaskFormat: "[00]{.}[00]{.}[0000]"
)
dateField.delegate = dateListener

پیسٹ اور ڈیلیٹ کا انتظام

درست پیسٹ کا انتظام ان پٹ ماسک کے نفاذ کے سب سے پیچیدہ پہلوؤں میں سے ایک ہے۔ ٹیکسٹ پیسٹ کرتے وقت (مثال کے طور پر، کلپ بورڈ سے کارڈ نمبر)، لائبریری کو پیسٹ کردہ ٹیکسٹ سے تمام جدا کار ہٹانے، صرف اہم حروف نکالنے اور صاف ڈیٹا پر ماسک لگانے کی ضرورت ہوتی ہے۔ RedMadRobot کا InputMask shouldChangeCharactersIn طریقہ کار کے ذریعے خودکار طور پر یہ کرتا ہے۔

فارمیٹ شدہ ٹیکسٹ (خالی جگہوں یا ڈیش کے ساتھ) پیسٹ کرتے وقت، لائبریری پہلے ڈیٹا کو نارمل کرتی ہے: ماسک پیٹرن سے مماثل نہ ہونے والے تمام حروف کو ہٹاتی ہے، پھر نارمل کردہ سٹرنگ پر ماسک لگاتی ہے۔ اگر پیسٹ کردہ ٹیکسٹ میں نااہل حروف ہوں (ہندسوں کے ماسک میں حروف)، تو انہیں نظر انداز کر دیا جاتا ہے۔

ماسک میں ڈیلیٹ (بیک اسپیس) کا انتظام خصوصی توجہ کی ضرورت ہے۔ بیک اسپیس دبانے پر، ماسک کو آخری اہم حرف حذف کرنا چاہیے، مستقل جدا کار کو نہیں۔ اگر کرسر کسی مستقل حرف کے بعد ہے تو بیک اسپیس کو اسے چھوڑ کر پچھلا اہم حرف حذف کر دینا چاہیے۔ InputMask اس رویے کو درج کردہ حروف کے اسٹیک کے ذریعے نافذ کرتا ہے۔

ٹیکسٹ سلیکشن اور ریپلیسمنٹ کے لیے، ماسک کو ان حالات کو صحیح طریقے سے سنبھالنا چاہیے جہاں صارف ٹیکسٹ کا کچھ حصہ منتخب کرتا ہے اور اسے نئے مواد سے بدل دیتا ہے۔ InputMask لائبریری MaskedTextFieldDelegate میں modifyString طریقہ کار کے ذریعے اس کی حمایت کرتی ہے، جو تبدیلی کی رینج اور نئی سٹرنگ قبول کرتا ہے۔

ماسک ڈیزائن کرنے کے بہترین طریقے

ماسک ڈیزائن اس بات کے تجزیہ سے شروع ہوتا ہے کہ صارف ڈیٹا کیسے درج کرے گا۔ اگر زیادہ تر صارفین فارمیٹ کو زبانی جانتے ہیں (فون نمبر)، تو ماسک کم سے کم ہونا چاہیے — صرف گروپوں کے درمیان جدا کار۔ اگر فارمیٹ ناواقف ہے (SNILS، INN)، تو ماسک زیادہ معلوماتی ہونا چاہیے، جس میں لاحقہ اور لیبل شامل ہوں۔

بڑی تعداد میں مستقل حروف والے ضرورت سے زیادہ ماسک سے پرہیز کریں۔ ماسک +7 ([000]) [000]-[00]-[00] میں 10 اہم حروف کے لیے 7 مستقل حروف ہیں — یہ قابل قبول ہے۔ لیکن ضرورت سے زیادہ جدا کاروں والا ماسک جسے صارف مسلسل نظرانداز کرتا ہے، فائدے سے زیادہ نقصان پہنچاتا ہے۔ اگر آپ فارمیٹ کے بارے میں یقین نہیں رکھتے — مفت ان پٹ استعمال کریں۔

بین الاقوامی ایپلیکیشنز کے لیے، ذہن میں رکھیں کہ ڈیٹا فارمیٹ مختلف ممالک میں مختلف ہو سکتے ہیں۔ امریکہ میں فون نمبر کا فارمیٹ +1 (XXX) XXX-XXXX ہے، جبکہ اٹلی میں — +39 XXX XXX XXXX۔ کوڈ کے ذریعے خودکار ملک کی شناخت والے ترجیحی ماسک استعمال کریں، یا صارف کو نمبر درج کرنے سے پہلے ملک منتخب کرنے دیں۔

InputMask UX جانچ کے مطابق، صارفین ان ماسک کو ترجیح دیتے ہیں جو ان پٹ شروع کرنے سے پہلے فارمیٹ دکھاتے ہیں (پلیس ہولڈر یا لاحقہ کے ذریعے) اور حرف کے ان پٹ کو مسدود نہیں کرتے۔ ماسک ایک اشارہ ہونا چاہیے، پابندی نہیں۔ اگر صارف ماسک سے مماثل نہ ہونے والا حرف درج کرتا ہے تو بغیر وضاحت کے ان پٹ مسدود کرنے سے بہتر ہے کہ اس کی اجازت دی جائے۔

اکثر پوچھے گئے سوالات

Input Mask اور تصدیق میں کیا فرق ہے؟

Input Mask ڈیٹا کو ریئل ٹائم میں فارمیٹ کرتا ہے، جبکہ تصدیق ان پٹ مکمل ہونے کے بعد درستگی چیک کرتی ہے۔ ماسک غلطیوں کو روکتا ہے، تصدیق انہیں دریافت کرتی ہے۔

کیا UITextView کے ساتھ ماسک استعمال کیا جا سکتا ہے؟

ہاں، UITextView shouldChangeTextIn طریقہ کار کے ساتھ UITextViewDelegate کی حمایت کرتا ہے، جس کے ذریعے ماسک لگایا جا سکتا ہے۔ تاہم، InputMask لائبریری UITextField کے لیے بہتر بنائی گئی ہے۔

مختلف ممالک کے لیے ترجیحی ماسک کیسے ہینڈل کریں؟

MaskedTextFieldDelegate میں affinityMask پراپرٹی استعمال کریں۔ لائبریری درج کردہ ملکی کوڈ کی بنیاد پر خودکار طور پر پہلا مماثل ماسک منتخب کرتی ہے۔

کیا حروف اور ہندسوں والا ماسک بنایا جا سکتا ہے؟

ہاں، مشترکہ ماسک معاون ہیں۔ حروف کے لیے A اور ہندسوں کے لیے 0 استعمال کریں۔ مثال کے طور پر، ABC-123 فارمیٹ کے لیے [AAA]-[000] ماسک۔

کیا Input Mask iOS آٹو فل کے ساتھ کام کرتا ہے؟

ہاں، Input Mask iOS آٹو فل کے ساتھ مطابقت رکھتا ہے۔ MaskedTextFieldDelegate shouldChangeCharactersIn کے ذریعے آٹو فل سے بلک ڈیٹا داخل کرنے کو صحیح طریقے سے ہینڈل کرتا ہے۔

خلاصہ

  • Input Mask ساختی ڈیٹا کے لیے خودکار جدا کار اضافے والا ایک ان پٹ ٹیمپلیٹ ہے
  • ماسک کے نحو میں لازمی حروف کے لیے مربع بریکٹ، اختیاری کے لیے گھنگریالے بریکٹ اور ایک مستقل لاحقہ شامل ہے
  • ماسک فارم بھرنے کی رفتار 35% بڑھاتے ہیں اور Apple کے اعداد و شمار کے مطابق غلطیاں 55% کم کرتے ہیں
  • RedMadRobot کی InputMask لائبریری iOS میں ان پٹ ماسکنگ کا معیاری حل ہے
  • ترجیحی ماسک ایک ہی فیلڈ میں مختلف ممالک کے لیے مختلف فارمیٹس کو سپورٹ کرنے کی اجازت دیتے ہیں
  • اختیاری بلاکس والے موافق ماسک صارف کو غیر ضروری ڈیٹا درج کرنے پر مجبور نہیں کرتے
  • سفارش — ماسک ایک اشارہ ہونا چاہیے، پابندی نہیں، کسی بھی حرف کے داخل کرنے کی صلاحیت کے ساتھ

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں