Input-mask-ios: рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рд╕рд┐рддре░ 2017  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: RedMadRobot/input-mask-ios

рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдорд╛рд╕реНрдХ {(123)}-[000] рд╣реИ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЯреЗрдХреНрд╕реНрдЯ "(123)456 рд╣реИ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рджрд░реНрдЬ рдХрд░реЗ, рдХреНрдпрд╛ рд╡рд╣ рдорд╛рдорд▓рд╛ рд╣реИ - 456.

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрд░реЗ @beltik
рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

MaskedTextFieldDelegate рдореЗрдВ рдХреЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╢реНрд░реЛрддрд╛ рд╣реИ textField(_:didFillMandatoryCharacters:didExtractValue:) , рдЬрд╣рд╛рдВ ┬лрдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯреЗрдб рд╡реИрд▓реНрдпреВ┬╗ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред

рдзрдиреНрдпрд╡рд╛рджред
рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдпрд╛ рдЕрдВрдХ рдпрд╛ рдкреНрд░рддреАрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рднреА рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЕрдкрдиреА рд╡рд╕реНрддреБ рдкрд░ рдЦреАрдВрдЪрддрд╛ рд╣реВрдВ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдХрд╛рд░рдг рд╣реИ, рдореБрдЭреЗ ".%@?" рдЬреИрд╕реЗ рдкреНрд░рддреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрджрд┐ред

@рдмреЗрд▓реНрдЯрд┐рдХ ,

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рд╕рд╣реА рд╕рдордЭрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ , рдФрд░ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИред

Ps рд╕рд╛рде рд╣реА, рдЖрдкрдХреЗ рдорд╛рд╕реНрдХ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░, {(123)}-[000] рдЖрдкрдХреЛ (123)000 рдЬреИрд╕рд╛ рдкрд░рд┐рдгрд╛рдореА рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ (123) рдЙрдкрд╕рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ (123)-[000] рдЬреИрд╕реЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@taflanidi

рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ [-] рдпрд╛ [_] рдЬреИрд╕рд╛ рдореБрдЦреМрдЯрд╛ рд╣реИ рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдЕрдХреНрд╖рд░ рдпрд╛ рд╕рдВрдЦреНрдпрд╛рдПрдВ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдбреЙрдЯ рдЬреИрд╕реЗ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдВ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбреЙрдЯ рдФрд░ рдЕрдиреНрдп рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдЙрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреЙрдбреНрд╕ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░реИрдЧ рдХрд┐рдпрд╛ред рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдг рд╕реЗрдЯ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрдирдо рдХреЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдмрд╕ рдЗрд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рд╛рдБ рд▓реМрдЯрд╛рддрд╛ рд╣реВрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ)ред рд▓реЗрдХрд┐рди рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди ["рд╡рд┐рд╢рд┐рд╖реНрдЯ-рдХреБрдВрдЬреА"] рдЬреИрд╕рд╛ рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдЬреЛ рд╕рднреА рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ "," рдпрд╛ "ред" рдЬреИрд╕реЗ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рд┐рдПред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ, рдФрд░ рдХрдХреНрд╖рд╛ рдореЗрдВ рд╡реИрд▓реНрдпреВрд╕реНрдЯреЗрдЯ рдореЗрдВ func func рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдЪрд░рд┐рддреНрд░ рдЪрд╛рд░: рдЪрд░рд┐рддреНрд░) -> рдмреВрд▓ {
рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдХреЛрдб рдмрджрд▓ рджрд┐рдпрд╛:
рдорд╛рдорд▓рд╛ред рдЕрд▓реНрдлрд╛рдиреНрдпреВрдореЗрд░рд┐рдХ:
// рдХреИрд░реЗрдХреНрдЯрд░рд╕реЗрдЯ.alphanumerics.isMember (рдЪрд░рд┐рддреНрд░: рдЪрд╛рд░) рд▓реМрдЯрд╛рдПрдВ
рд╕рдЪ рд▓реМрдЯреЛ

рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗрд╕ рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдЬреИрд╕реЗ рдХреЗрд╕ред рд╣рд░ рдХреИрд░реЗрдХреНрдЯрд░ред рдФрд░ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ (рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛)ред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЦреБрдж рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВред

3.3.0 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕