Skip to content

Latest commit

 

History

History
72 lines (55 loc) · 2.12 KB

README.md

File metadata and controls

72 lines (55 loc) · 2.12 KB

Phone Number Formatter

Build Swift Carthage compatible

UITextField and NSFormatter subclasses for formatting phone numbers. Allow different formats for different countries(patterns). Caret positioning works excellent. Swift 4.
If you need ObjC support use - https://github.com/Serheo/SHSPhoneComponent/

Installation

Carthage

github "Serheo/PhoneNumberFormatter"

CocoaPods

pod "SwiftPhoneNumberFormatter"

Getting Started

Default Format

textField.config.defaultConfiguration = PhoneFormat(defaultPhoneFormat: "(###) ###-##-##")

All input strings will be parsed in that way. Example: +1 (123) 123-45-67

Image

Prefix Format

You can set prefix on all inputs:

textField.config.defaultConfiguration = PhoneFormat(defaultPhoneFormat: "(###) ###-##-##")
textField.prefix = "+7 "

Multiple Formats

textField.config.defaultConfiguration = PhoneFormat(defaultPhoneFormat: "##########")
textField.prefix = nil
let custom1 = PhoneFormat(phoneFormat: "+# (###) ###-##-##", regexp: "^7[0-689]\\d*$")
textField.config.add(format: custom1)

let custom2 = PhoneFormat(phoneFormat: "+### ###-##-##", regexp: "^380\\d*$")
textField.config.add(format: custom2)

Multiple Formats with prefix

textField.config.defaultConfiguration = PhoneFormat(defaultPhoneFormat: "### ### ###")
textField.prefix = "+7 "

let custom1 = PhoneFormat(phoneFormat: "(###) ###-##-##", regexp: "^1\\d*$")
textField.config.add(format: custom1)

let custom2 = PhoneFormat(phoneFormat: "(###) ###-###", regexp: "^2\\d*$")
textField.config.add(format: custom2)

Requirements

iOS 9+ Swift 4

License

PhoneNumberFormatter is available under the MIT license. See the LICENSE file for more info.