Swift: UITextfield 只能输入数字或字母,限制长度

来源:互联网 发布:js窗口高度 编辑:程序博客网 时间:2024/06/05 02:12

1 设置代理

继承 UITextFieldDelegate

tfTime.delegate =self;

tfCMD.delegate =self;


2 实现代理

func textField(textField:UITextField, shouldChangeCharactersInRange range:NSRange, replacementString string: String) -> Bool {

       iftfTime == textField {

            //限制只能输入数字,不能输入特殊字符

           let length = string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

           for loopIndexin0..<length {

               let char = (stringasNSString).characterAtIndex(loopIndex)

               if char <48 {returnfalse }

               if char >57 {returnfalse }

            }

           //限制长度

           let proposeLength = (textField.text?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))! - range.length + string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

           if proposeLength >4 {return false }

        }

       iftfCMD == textField {

           let length = string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

           for loopIndexin0..<length {

               let char = (stringasNSString).characterAtIndex(loopIndex)

                

               //只能输入 a~z A~Z

               if char <65 {returnfalse }

               if char >=91 && char <=112 {returnfalse }

               if char >=123 {returnfalse }

            }

            

        }

        return true

    }





















原创粉丝点击