티스토리 뷰
반응형
앞 2자리, 뒤 2자리 만 보이게
//이메일 마스킹 ( test12@test.com -> te**12@test.com )
func maskEmail() -> String {
let components = self.components(separatedBy: "@")
guard let first = components.first,
let last = components.last else { return self }
let mask = first.enumerated().map {
//첫번째 자리, 두번째 자리, 마지막 앞자리, 마지막 자리만 보이게
return [0, 1, first.count - 2, first.count - 1].contains($0.offset) ? $0.element : "*"
}
return String(mask) + "@" + last
}
앞 4자리 만 보이게
//이메일 마스킹2 ( test12@test.com -> test**@test.com )
var maskEmail2: String {
let components = self.components(separatedBy: "@")
guard let first = components.first,
let last = components.last else { return self }
let mask = first.enumerated().map { index, char in
//앞 4자리만 보이게
return Array(0..<4).contains(index) ? char : "*"
}
return String(mask) + "@" + last
}
전체 코드
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let email = "test12@test.com"
print(email)
print(email.maskEmail())
print(email.maskEmail2)
}
}
extension String {
//이메일 마스킹 ( test12@test.com -> te**12@test.com )
func maskEmail() -> String {
let components = self.components(separatedBy: "@")
guard let first = components.first,
let last = components.last else { return self }
let mask = first.enumerated().map {
//첫번째 자리, 두번째 자리, 마지막 앞자리, 마지막 자리만 보이게
return [0, 1, first.count - 2, first.count - 1].contains($0.offset) ? $0.element : "*"
}
return String(mask) + "@" + last
}
//이메일 마스킹2 ( test12@test.com -> test**@test.com )
var maskEmail2: String {
let components = self.components(separatedBy: "@")
guard let first = components.first,
let last = components.last else { return self }
let mask = first.enumerated().map { index, char in
//앞 4자리만 보이게
return Array(0..<4).contains(index) ? char : "*"
}
return String(mask) + "@" + last
}
}
민감한 정보 숨김
개인정보 가리기
Privacy Data
ID PW 가림
Password hidden
비밀번호 패스워드 별표시
iOS
Swift
Xcode
반응형
'iOS Swift + UIKit' 카테고리의 다른 글
iOS Swift URLSession (Alamofire 없이 http 통신) (0) | 2022.10.01 |
---|---|
iOS Swift UISheetPresentationController.Detent (하프 모달 Half screen size custom modal drag bottom sheet present) (3) | 2022.09.01 |
iOS Swift 웹뷰 html 바디 가져오기 (get webview html body tag) (0) | 2022.05.04 |
iOS Swift 날짜 차이 구하기 (요일, 시간 사이 간격 변환 계산) Calc Date (0) | 2022.03.02 |
iOS Swift 앱 안끄고 언어 변경 ( 앱 내 언어 설정 ) (4) | 2021.04.05 |
댓글