How to check if a string is in a valid format ("XXX-XXX-XXXX") with numbers in Swift

1 Answer

0 votes
import Foundation

func isValidFormat(_ s: String) -> Bool {
    let pattern = "^\\d{3}-\\d{3}-\\d{4}$"
    
    let regex = try! NSRegularExpression(pattern: pattern)
    let range = NSRange(location: 0, length: s.utf16.count)
    
    if let _ = regex.firstMatch(in: s, options: [], range: range) {
        return true
    }
    
    return false
}

var s = "771-290-1652"
if isValidFormat(s) {
    print("Valid")
} else {
    print("Not Valid")
}

s = "771-29-162"
if isValidFormat(s) {
    print("Not Valid")
} else {
    print("Not Valid")
}

s = "771-VA8-1620"
if isValidFormat(s) {
    print("Not Valid")
} else {
    print("Not Valid")
}



/*
run:

Valid
Not Valid
Not Valid

*/

 



answered Nov 16, 2024 by avibootz
...