반응형

TextField나 Label에 휴대전화 번호를 표기해야 할때 000-0000-0000 방식으로 표기해야 할때가 있습니다.

여러가지 방법들이 있지만 정규표현식을 사용해서 처리 하는 방법은 다음과 같습니다.

extension String {
  /// 휴대전화번호 문자열을 hyphen사용해서 변환
  var formattedPhoneNumber: String {
    let rexPattern = "([0-9]{3}([0-9*]{3,4})([0-9*]{4})"
    guard let regex = try? NSRegularExpression(pattern: rexPattern, options: .caseInsensitive) else { return self }
    
    let removedHyphen = replacingOccurrences(of: "-", with: "")
    return rexgex.stringByReplacingMatches(in: removedHyphen, opptions: [], range: NSRange(removedHyphen.startIndex..., in: removedHyphen), withTemplete: "$1-$2-$3")
  }
}

"01012345678".formattedPhoneNumber // "010-1234-5678"
"0101**45**".formattedPhoneNumber // "010-1**-45**"
반응형
Posted by 까칠코더
,