مرحبا ، شكرا لمكتبة جيدة!
لدي مشكلة ، دعنا نقول ، لدي حقل نص بالتنسيق "{+7} ([000]) [000] [0000]" وتعطيني الخاصية textfield.text "+7 (937) 444 3333" ، لذلك لا بأس لواجهة المستخدم ، لكني أحتاج إلى سلسلة أصلية لتقديم طلب إلى الخادم ، هل من الممكن الحصول على نص الإدخال الأصلي "79374443333"؟
ياTikhonovAlexander
شكرا على سؤالك.
بادئ ذي بدء ، يجب أن تكون قد تلقيت رد اتصال من MaskedTextFieldDelegateListener
(خاصية MaskedTextFieldDelegate
) مع value
المستخرج فيه عند إدخال المستخدم.
ثانيًا ، يكون لكل MaskedTextFieldDelegate
مثيله Mask
المرتبط به مفتوحًا لاحتياجاتك. وبالتالي ، يمكنك الاتصال
let text = CaretString(string: textfield.text, caretPosition: textfield.text.endIndex)
let extractedValue =
maskedTextFieldDelegate.mask.apply(toText: text, autocomplete: ...).extractedValue
من أجل الحصول على value
مرة أخرى.
إذا كان لديك أي أسئلة ، يرجى المضي قدمًا وطرحها.
أوه الآن ، الأمر واضح. شكرا لك !
أنا قادر على عمل القناع ولكن الآن بعد التقنيع الناجح ، أريد أن أقوم بعمل قناع عكسي حتى أتمكن من إرسال نص الخطة إلى الخادم. على سبيل المثال ، إذا قام المستخدم بإدخال: (56) -55 (لـ mask formate ([11]) - [11]) ، أريد أن أجعله يخطط لنص مثل 5665 وأستخدمه.
يرجى ملاحظة أن extractedValue لا يقوم بإرجاع نص الخطة (نص غير مقنع) إذا كانت مشكلة ، فيجب حلها.
التعليق الأكثر فائدة
أوه الآن ، الأمر واضح. شكرا لك !