美文网首页
Swift UITextField封装,电话号码,身份证,银行卡

Swift UITextField封装,电话号码,身份证,银行卡

作者: Buddha_like | 来源:发表于2017-10-23 15:16 被阅读0次

    最近抽时间将项目优化了一下,发现输入框这个东西好烦啊,各种输入限制,之前写的时候也是赶项目,封装的不是很理想,于是抽时间将会用到的输入框从新封装了一下,方便以后在项目中使用!
    这里不讲逻辑了,因为大同小异,只是将类的使用简单说明下,具体代码,用的话自己下载吧,文章下面会给链接
    先看效果吧:

    屏幕快照 2017-10-23 03.04.58 PM.png

    手机号


    Snip20171023_1.png

    身份证号码


    Snip20171023_2.png
    银行卡号 Snip20171023_4.png

    6-18位数字和字母组成的密码-密文+非密文展示

    Snip20171023_5.png Snip20171023_6.png

    下面就是框架的类的作用,有需要修改的自行到对应的文件修改即可

    Snip20171023_8.png

    外部调用 哪个类调用,需要类遵守JJTextFieldRegular协议

    var typeID : NSString?
    let phoneTextField = JJTextField.init(frame: CGRect(x: 30, y: 100, width: 300, height: 40))
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = UIColor.white
        let btn = UIButton().loadBtn()
        btn.center = self.view.center
        btn.addTarget(self, action: #selector(action), for: .touchUpInside)
        view.addSubview(btn)
        if typeID == "0" {
            phoneTextField.type = .phone
        }else if typeID == "1" {
            phoneTextField.type = .IDCard
        } else if typeID == "2" {
            phoneTextField.type = .bankCard
        }else if typeID == "3" {
            phoneTextField.type = .password
        }
        view.addSubview(phoneTextField)
    }
    
    @objc func action() {
        if typeID == "0" {
            self.phone()
        }else if typeID == "1" {
            self.idCard()
        } else if typeID == "2" {
            print("暂时无判断")
        }else if typeID == "3" {
            self.password()
        }
    }
    
    //手机号判定
    func phone() {
        let bool = self.jj_checkPhone(phoneTextField.textOverridee())
        if bool {
            print(phoneTextField.textOverridee())
        }else{
            print("非手机号")
        }
    }
    
    //密码
    func password() {
        let bool = self.jj_checkPassworld(phoneTextField.textOverridee())
        if bool {
            print(phoneTextField.textOverridee())
        }else{
            print("非密码格式")
        }
    }
    
    //身份证
    func idCard() {
        let bool = self.jj_checkPassworld(phoneTextField.textOverridee())
        if bool {
            print(phoneTextField.textOverridee())
        }else{
            print("非身份证")
        }
    }
    

    文章Demo下载链接 :https://gitee.com/liu_j_j/JJ_textField.git
    注:一直用码云,所以代码都是传到码云的
    终端下载: (1)cd DeskTop
    (2)git clone https://gitee.com/liu_j_j/JJ_textField.git

    相关文章

      网友评论

          本文标题:Swift UITextField封装,电话号码,身份证,银行卡

          本文链接:https://www.haomeiwen.com/subject/plrauxtx.html