美文网首页
Android EditText InputFilter和正则表

Android EditText InputFilter和正则表

作者: 乌龟学跑步 | 来源:发表于2018-07-30 10:06 被阅读0次

    EditText文本输入控件,在App开发中可能会遇到各种各样的要求, 关于inputType和digits这两个不再介绍,介绍一下复杂的输入,例如输入手机号,只能是第一位为1,后面是0-9的数据,总长度11位,再比如输入的账号只能是字母或数字,长度最多20位,这就用到了InputFilter这个类和正则表达式。

    关于正规不是特别清楚的建议学习一下,非常有用。下面来说一下手机号输入中正则为“^1[0-9]{0,10}$”,账号输入中正则为“^[a-zA-Z0-9]{0,20}$”。

    正则表达式工具类如下:

    限制输入的InputFilter类如下:

    每输入一字符都要判断一下,如果正常返回输入的数据,如果不合法,返回空串。

    这样合法的数据就能输入进去,不合法的数据就被过滤掉了,同时最重要的一点就是把过滤器设置给editText, FilterUtils.setFilter(editText, new EditPhoneFilter()); 这样就完成了。

    简简单单小功能,欢迎大神指导。

    相关文章

      网友评论

          本文标题:Android EditText InputFilter和正则表

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