How to restrict UITextField to take only numbers in Swift?

后端 未结 30 929
难免孤独
难免孤独 2020-12-04 08:40

I want the user to only enter numeric values in a UITextField. On iPhone we can show the numeric keyboard, but on iPad the user can switch to any keyboard.

30条回答
  •  半阙折子戏
    2020-12-04 09:05

    For allow some charactors

    func CheckAddress(string:String) -> Bool  {
            let numberOnly = NSCharacterSet.init(charactersIn: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-@,&#/")
            let stringFromTextField = NSCharacterSet.init(charactersIn: string)
            return numberOnly.isSuperset(of: stringFromTextField as CharacterSet)
        }
    
    print("\(CheckAddress(string: "123"))") //True
    print("\(CheckAddress(string: "asdf-"))") //True
    print("\(CheckAddress(string: "asd123$"))") //false
    

提交回复
热议问题