abstract to String extension method

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-07-16 16:17:27 -05:00
parent 10f4f1db11
commit 6661e60333

View File

@ -71,7 +71,7 @@ extension InputField {
let rawNumber = newText.filter { $0.isNumber } let rawNumber = newText.filter { $0.isNumber }
// Format the number with dashes // Format the number with dashes
let formattedNumber = formatUSNumber(rawNumber) let formattedNumber = rawNumber.formatUSNumber()
// Set the formatted text // Set the formatted text
textField.text = formattedNumber textField.text = formattedNumber
@ -93,19 +93,23 @@ extension InputField {
override func textFieldDidEndEditing(_ inputField: InputField, textField: UITextField) { override func textFieldDidEndEditing(_ inputField: InputField, textField: UITextField) {
if let text = inputField.text { if let text = inputField.text {
let rawNumber = text.filter { $0.isNumber } textField.text = text.formatUSNumber()
textField.text = formatUSNumber(rawNumber)
value = textField.text value = textField.text
} }
} }
}
func formatUSNumber(_ number: String) -> String { }
extension String {
public func formatUSNumber() -> String {
// Format the number in the style XXX-XXX-XXXX // Format the number in the style XXX-XXX-XXXX
let areaCodeLength = 3 let areaCodeLength = 3
let centralOfficeCodeLength = 3 let centralOfficeCodeLength = 3
let lineNumberLength = 4 let lineNumberLength = 4
var formattedNumber = "" var formattedNumber = ""
let number = filter { $0.isNumber }
if number.count > 0 { if number.count > 0 {
formattedNumber.append(contentsOf: number.prefix(areaCodeLength)) formattedNumber.append(contentsOf: number.prefix(areaCodeLength))
@ -129,8 +133,5 @@ extension InputField {
return formattedNumber return formattedNumber
} }
}
} }