Skip to content

Instantly share code, notes, and snippets.

@SachK13
Created December 20, 2016 04:36
Show Gist options
  • Save SachK13/6365b67c7b4aac45615c75643531f8f5 to your computer and use it in GitHub Desktop.
Save SachK13/6365b67c7b4aac45615c75643531f8f5 to your computer and use it in GitHub Desktop.
UITextField accept only numbers to certain limits (Swift 3 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!.characters.count + string.characters.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