Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kuratowsky/6e027fd2270d5bf5ac4ee41764e4bfdb to your computer and use it in GitHub Desktop.
Save kuratowsky/6e027fd2270d5bf5ac4ee41764e4bfdb to your computer and use it in GitHub Desktop.
UITextField accept only numbers to certain limits (Swift 5 Tested.)
// let MAX_LENGTH_PHONENUMBER = 15
// let ACCEPTABLE_NUMBERS = "0123456789"
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newLength: Int = textField.text!.count + string.count - range.length
let numberOnly = NSCharacterSet.init(charactersIn: ACCEPTABLE_NUMBERS).inverted
let strValid = string.rangeOfCharacter(from: numberOnly) == nil
return (strValid && (newLength <= MAX_LENGTH_PHONENUMBER))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment