swift 限制特殊字符串输入

1、swift 限制特殊字符串输入

参考链接

https://blog.csdn.net/weixin_34258838/article/details/88178375


2、swift  textfield/textview 限制输入框粘贴字数

思路:通过通知来实现

下面是textfield的例子                                  UITextViewTextDidChangeNotification

textview照葫芦画瓢  通知名字不要错了      UITextViewTextDidChangeNotification


红线框内缺一不可

    overrideinit(style:UITableViewCell.CellStyle, reuseIdentifier:String?) {

        super.init(style: style, reuseIdentifier: reuseIdentifier)

        //        textfield的限制为15个字数,当输入完前14个字的时候,最后一个中文字,打出拼音的第一个英文字母时,就会被截取,导致最后一个中文字永远无法正确拼写出来 的解决办法https://www.jianshu.com/p/51443f279ef1

        NotificationCenter.default.addObserver(self, selector:

            #selector(self.greetingTextFieldChanged), name: NSNotification.Name(rawValue:"UITextFieldTextDidChangeNotification"),

                                                      object:self.detailTextfield)

        setupUI()


    }

    @objcfuncgreetingTextFieldChanged(obj:Notification) {

        lettextField:UITextField= obj.objectas!UITextField

        guardlet_:UITextRange= textField.markedTextRangeelse{

            /// 去除特殊字符 (只可输入部分英文半角特殊格式)

            letstr = textField.text??""

            textField.text= str.deleteSpecialCharacters()


            if(textField.text!asNSString).length>15{

                textField.text= (textField.text!asNSString).substring(to:15)

            }

            return

        }

    }

    deinit{

        NotificationCenter.default.removeObserver(self, name:

            NSNotification.Name(rawValue:

                "UITextFieldTextDidChangeNotification"), object: self.detailTextfield)

    }

你可能感兴趣的:(swift 限制特殊字符串输入)