EmployeeDirectory-SwiftUI/EmployeeDirectory/Extensions/String.swift
2025-03-04 14:54:57 -06:00

27 lines
813 B
Swift

//
// String.swift
// EmployeeDirectory
//
// Created by Matt Bruce on 3/4/25.
//
import Foundation
extension String {
/// Formats a string into a US phone number format (XXX-XXX-XXXX).
/// Non-numeric characters are removed, and formatting is applied based on the length of the string.
/// - Returns: A formatted phone number as a string.
internal func formatUSNumber() -> String {
let mask = "XXX-XXX-XXXX"
let digits = filter { $0.isNumber }
var index = digits.startIndex
return mask.reduce(into: "") { result, char in
if char == "X", index < digits.endIndex {
result.append(digits[index])
index = digits.index(after: index)
} else {
result.append(char)
}
}
}
}