İçeriğe geç

Telefon numarası maskeleme işlemi

Merhabalar bu yazımda iOS uygulamalarınızda işinize yarayacak bir String Extension paylaşacağım. Bu extend işlemi ile telefon numaralarını kolay bir şekilde maskeleme işlemi yapabileceksiniz.

Maskeleme işlemi olarak adlandırdığım olay, cep telefonu numarasının yapısını servise uygun veya diledğiniz formatta değiştirmek diyebiliriz. Örneğin 53222222222 şeklinde olan bir telefon numarasını 532-222-22-22 olarak elde etmek isteyebilirsiniz. Bu gibi durumlarda işinize oldukça yarayacaktır.

Aşağıdaki kodu inceleyelim.

extension String {
    func applyPatternNumbers(pattern: String, replacment: Character) -> String {
        var pureNumber = self.replacingOccurrences(of: "[^0-9]", with: "", options: .regularExpression)
        for index in 0 ..< pattern.count {
            guard index < pureNumber.count else { return pureNumber }
            let stringIndex = String.Index(utf16Offset: index, in: pattern)
            let patternCharacter = pattern[stringIndex]
            guard patternCharacter != replacment else { continue }
            pureNumber.insert(patternCharacter, at: stringIndex)
        }
        return pureNumber
    }
}
"5347770001".applyPatternNumbers(pattern: "$$$-$$$-$$-$$", replacment: "$")

ilk olarak String içerisinde yer alan replacingOccurrences fonksiyonu ile numaramızı temiz hale getiriyor, gereksiz eklemelerden kurtarıyoruz. Daha sonrasında eklediğimiz pattern yapısını karakter sayısı kadar ilerleyerek replacment karakteri ile eşit olmayan index değerini kullandığımız numaranın index değerine o karakteri ekliyoruz.

 

Tarih:SwiftSwift 5

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca