在app添加银行卡手机号码是时每四位补一个空格,以增加用户体验

一、银行卡

举例:银行卡号:6221553741546546566

效果:6221 5537 4154 6546 566

用到,addTextChangedListener,setSelection等函数

代码示例:

public  static  void  fillBankNumSpeace(final  EditText mAddCardNumEdt){//银行卡补齐 空格mAddCardNumEdt.addTextChangedListener(new TextWatcher() {public void onTextChanged(CharSequence s, int start, int before,int count) {if (count == 1) {if (s.length() == 4) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(5);}if (s.length() == 9) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(10);}if (s.length() == 14) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(15);}if (s.length() == 19) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(20);}} else if (count == 0) {if (s.length() == 4) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(3);}if (s.length() == 9) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(8);}if (s.length() == 14) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(13);}if (s.length() == 19) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(18);}}}public void beforeTextChanged(CharSequence s, int start, int count,int after) {}public void afterTextChanged(Editable s) {}});}

注意:一般用户输入了第一遍卡号,要求再次输入账号,以验证两次卡号是否一致,这时不能直接调trim()去空格,再用 equals 比较,因为有的用户可能使用复制,粘贴功能,所以最好还是用replace("")去掉空格再比较。

二、 手机号也一样

代码示例:

public  static  void  fillTelSpeace(final  EditText mAddCardNumEdt){//手机号码后 补齐 空格mAddCardNumEdt.addTextChangedListener(new TextWatcher() {public void onTextChanged(CharSequence s, int start, int before,int count) {if (count == 1) {if (s.length() == 3) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(4);}if (s.length() == 8) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(9);}if (s.length() == 11) {mAddCardNumEdt.setText(s + " ");mAddCardNumEdt.setSelection(11);}}  else if (count == 0) {if (s.length() == 4) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(3);}if (s.length() == 9) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(8);}if (s.length() == 11) {mAddCardNumEdt.setText(s.subSequence(0,s.length() - 1));mAddCardNumEdt.setSelection(10);}} }public void beforeTextChanged(CharSequence s, int start, int count,int after) {}public void afterTextChanged(Editable s) {}});}

android之银行卡手机号码自动补齐空格相关推荐

  1. java补空格_JAVA STRING 对象自动补齐空格

    之所以补空格因为 该长度不一的时候 有时候会导致 ORACLE数据库的子SQL 变得很多多. 导致非常慢. ORACLE 11G 11.2.01 打补丁风险太大 只好补空格让其一直. 注意采用的字节长 ...

  2. android如何设置自动补,Android Studio 中设置代码块自动补齐

    AS中很多提示键,并不如Eclipse中做的好,需要我们自己去自定义.这里以switch...case为例,讲解一下如何设置代码自动补全. 1.进入settings -->  Editor -- ...

  3. ios-晋级之路 CocoaPods引用第三方库不import不自动补齐

    对于CocoaPods不自动补齐解决方案如下 选择工程的 Target -> Build Settings 菜单,找到\"User Header Search Paths\" ...

  4. mysql 自动补齐 表名,列名 方法, 重启mysql方法

    1.mysql自动补齐方法 方法一.修改my.cnf vi /etc/my.cnf [mysql] auto-rehash         #添加auto-rehash 注:修改 #no-auto-r ...

  5. Geany 代码自动补齐功能设置

    很多人用 geany 感觉不方便,有一部分就是相比于 pycham 的自动补齐功能不好使. 现在给大家看下自动补齐功能设置方法,设置完后用起来非常方便哦. Geany 代码自动补全设置: 默认出现自动 ...

  6. Jupyter 编写python代码实现代码自动补齐功能设置实例演示

    Jupyter 代码自动补齐功能 第一章:启用代码自动补齐功能 ① 安装工具包 ② 重启 Jupyter 服务 ③ 功能设置 ④ 效果展示 ⑤ cmd 安装工具包详细过程展示 第一章:启用代码自动补齐 ...

  7. sql server 语句自动补齐

    sql2008 sql语句自动补齐功能 sql2008的命令自动补齐功能在哪设置 包括查询的表明自动补齐 不想用插件 这个好像2008自带的有这个功能 难道我装的版本不对 楼主说的是自动联想功能吧,任 ...

  8. linux快捷命令补齐,Linux Shell简介——自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式.doc...

    Linux Shell简介--自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式 Unix (及后继者 Linux)在命令行下面诞生,因此,Unix 中的命令行有许多非常实用的功能. ...

  9. 输入框限制只能输入数字,正数、负数、0,最多两位小数;数字输入框可以输入负数,并最多保留两位小数;el-number-input去掉四舍五入和自动补齐小数;

    场景: –要求1:输入框只能输入数字,可以使正数.负数.0,小数点最多保留两位. –要求2:不需要自动补齐小数点,也不需要自动四舍五入. element-ui的数字输入框el-input-number ...

  10. 【转】Emacs -- 自动补齐

    1. Emacs 自带的hippie-expand (参考的是王垠的) hippie-expand是 Emacs 自带的功能, 把M-/ 绑定到 hippie-expand,在.emacs文件中加入 ...

最新文章

  1. SAP 权限对象设置及在程序中的应用
  2. Angular中路由的嵌套-父子路由
  3. 哪里的草莓质量又好又便宜呢?水果批发市场(前提你买的得多)
  4. 类中赋值运算符重载函数
  5. 一份非常完整的MySQL规范
  6. Oracle丢失管理员密码的解决方法
  7. 富士通台式电脑_电脑bios怎么进入-电脑bios进入方法介绍
  8. python 爬虫代理_python 爬虫 使用代理 的问题
  9. 作者:郭雷风,中国农业科学院农业信息研究所助理研究员。
  10. [有限元]证明常应变三角形单元形函数面积分线积分公式
  11. 第 4 章 程序计数器
  12. 安装vs遇到 不受信任的证书或者 时间戳签名和/或证书无法验证或已损坏 解决方案
  13. Spring SAS 0.2.0 上手教程
  14. 一个免费ss网站的数据爬取过程
  15. 5.秒杀模块-基于redis缓存商品秒杀信息
  16. 悲伤时唱首歌:《暗恋桃花源》剧评
  17. 太牛了!我的阿里春招之路分享,值得收藏!
  18. java 读取word 表格,java读取word表格方法
  19. 算法分析:时间和空间复杂度
  20. Windows AD证书服务系列---部署CA(2)

热门文章

  1. (三万字长文)面试redis缓存大全!
  2. 神经网络量化--per-channel量化
  3. LR 的上传文件与下载文件
  4. CSS 网页定位与布局
  5. oracle共几条当前几条,Oracle 以某字段分组,以某字段排序,取前几条
  6. SFDC 日常经验积累
  7. 女性内分泌失调要小心
  8. 电子设计教程39:软启动电路-观察浪涌电流
  9. caniuse npm安装
  10. Java8新特性(三) – 流式数据处理