美文网首页Swift入坑
UITextField输入限制(通过正则表达式)

UITextField输入限制(通过正则表达式)

作者: 旷野独狼 | 来源:发表于2018-03-21 22:58 被阅读5次

    将工作中使用的输入限制工具类抽取了出来,做个记录,方便后续使用。
    github地址:https://github.com/maguangxiao/GXInputLimitTextField

    使用简介

    该类可以在代码和xib中使用

    • 限制输入9位数字(若不限制位数 可传入Int.max)
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.OnlyNumber(9)
    
    
    • 限制输入首位非零的9位数字(若不限制位数 可传入Int.max)
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.OnlyNumberExceptLeadingZero(9)
    
    
    • 限制输入手机号
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.TelephoneNumber
    
    
    • 限制输入小数,整数4位 小数2位 (若不限制位数 可传入Int.max)
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.DecimalNumber(4, 2)
    
    
    • 限制输入小数,整数2位,小数4位,且整数部分不能为0 (若不限制位数 可传入Int.max)
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.DecimalNumberExceptLeadingZero(2, 4)
    
    
    • 限制输入身份证号
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.IDCardNumber
    
    
    • 仅限制输入最大字符数为10
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.MaxCharacter(10)
    
    
    • 其他自定义限制 在字符串位置传入正确的自定义正则表达式
    let inputLimitTextField = GXInpuLimitTextField()
    inputLimitTextField.inputLimitType = GXTextFieldInputLimitType.Express("^.*$")
    
    

    ps:正则表达式的学习推荐一个网址:30分钟学会正则表达式

    虽然不是真的只花30分钟能学会,但绝对是一个深入浅出的好的学习教程

    相关文章

      网友评论

        本文标题:UITextField输入限制(通过正则表达式)

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