Swift限制输入框输入

项目里涉及到输入框的输入会有各种限制,最常见的就是限制输入长度,限制特殊字符的输入。
限制长度:

extension String {
    public func substring(from index: Int) -> String {
        if self.count > index {
            let endIndex = self.index(self.startIndex, offsetBy: index)
            let subString = self[self.startIndex..<endIndex]
            
            return String(subString)
        } else {
            return self
        }
    }
}

限制特殊字符:

let testString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    //如果是输入的123abcABC除了数字和字符之外的,禁止输入
    let char = NSCharacterSet.init(charactersIn: testString).inverted
    let inputString = string.components(separatedBy: char).joined(separator: "")
    return string == inputString
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。