手机号自动加入空格,禁止用户输入空格
需求:用户输入,一串手机号后,自动加空格。
1、:12345678912 显示:123 4567 8912
2、:+8612345678912 显示:+86 1234 5678 912
代码:
editText.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence charSequence, int start, int before, int count) {if (charSequence == null || charSequence.length() == 0) {return;}StringBuilder stringBuilder = new StringBuilder();//首先排除全是空字符的输入if (charSequence.length() > 0 && charSequence.toString().replace(" ", "").isEmpty()) {editText.setText("");}for (int i = 0; i < charSequence.length(); i++) {if (i != 3 && i != 8 && i != 13 && charSequence.charAt(i) == ' ') {continue;} else {stringBuilder.append(charSequence.charAt(i));if ((stringBuilder.length() == 4 || stringBuilder.length() == 9 || stringBuilder.length() == 14)&& stringBuilder.charAt(stringBuilder.length() - 1) != ' ') {stringBuilder.insert(stringBuilder.length() - 1, ' ');}}}//排除用户输入几个数字后 继续输入空格if (charSequence.toString().length() != trim(charSequence).toString().length()) {editText.setText(trim(charSequence).toString());editText.setSelection(trim(charSequence).toString().length());}//删除插入光标位置if (!stringBuilder.toString().equals(charSequence.toString())) {int index = start + 1;if (start >= stringBuilder.length())return;if (stringBuilder.charAt(start) == ' ') {if (before == 0) {index++;} else {index--;}} else {if (before == 1) {index--;}}editText.setText(stringBuilder.toString());editText.setSelection(index);}}@Override//这个方法是在Text改变之后被调用public void afterTextChanged(Editable s) {}});
public CharSequence trim(CharSequence cs) {int len = cs.length();int st = 0;while ((st < len) && (cs.charAt(st) <= ' ')) {st++;}while ((st < len) && (cs.charAt(len - 1) <= ' ')) {len--;}return ((st > 0) || (len < cs.length())) ? cs.subSequence(st, len) : cs; }
//借鉴了几位博客改进了一下。
手机号自动加入空格,禁止用户输入空格相关推荐
- python中空格怎么打_python输入空格_python以空格为分隔输入_python如何让用户输入空格 - 云+社区 - 腾讯云...
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 流式语音合成 python3 sdk 下载地址.python2 sdk 下载地址 ...
- 页面禁止用户输入中文实现方式
具体步骤: 方法一:用文本框的CSS属性ime-mode实现. <input οnpaste="return false" οndragenter="return ...
- 禁止输入框输入空格 onkeyup
原生 <input type="text" onkeyup="this.value=this.value.replace(/\s+/g,'')">v ...
- python怎样输入空格_python 怎么输入空格
在使用内置模块的时候需要导入,例如import abc,则导入abc模块,当然模块也可以自己写,相当于一个类,后面放到类里说,这个因为环境闲置,有些无法执行,只能理解了 os系统操作 import o ...
- android输入自动补全,Android用户输入自动提示控件AutoCompleteTextView使用方法
一.简介 1.AutoCompleteTextView的作用 2.AutoCompleteTextView的类结构图 也就是拥有EditText的各种功能 3.AutoCompleteTextView ...
- 在mathtype里面输入空格
我们单击[样式],将默认的[数字]选项改成[文字],然后在需要加空格的地方输入空格键即可.
- flutter 怎么拦截请求_flutter中事件传递:禁止用户交互 获取点击事件
可能有时候会需要这种需求 比如文本框可以响应点击事件但是禁止用户输入 直接粗暴的设置 TextField(enabled: false,) 这样就无法得知ontap事件了, 当然你可以用 enable ...
- 用户输入一串整数和任意数目的空格,程序自动对所有的整数进行求和
要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置.当用户按下键盘上的"Enter"键时,数据输入结束.程序自动对所有 ...
- Java黑皮书课后题第7章:**7.17(对学生排序)编写一个程序,提示用户输入学生个数、学生姓名和他们的成绩,然后按照学生成绩的降序打印学生的姓名。假定姓名是不包含空格的字符,使用next()读取
**7.17(对学生排序)编写一个程序,提示用户输入学生个数.学生姓名和他们的成绩,然后按照学生成绩的降序打印学生的姓名.假定姓名是不包含空格的字符,使用next方法读取 题目 题目描述 破题 代码 ...
最新文章
- 聊聊高并发(十六)实现一个简单的可重入锁
- FTL页面常用到的一些方法combobox、combotree、datagrid
- AGG第二十课 agg::ellipse 方法approximation_scale()
- python读写修改配置文件(ini)
- 如何集成和使用EclEmma插件来获得良好的Junit覆盖率
- CSUOJ 1196- Staginner 去爬山
- Android Log工具类,Toast工具类,获取当前方法名称
- C/C++的const区别
- “Max“ stands for big
- HoloLens还太远 必应才是微软目前的重头戏
- 服务器server怎么显示后缀名,window7系统怎么显示文件后缀名(图文)
- 一位程序媛MM眼中的程序员???
- android 获取N天前的日期或N天后日期
- 如何用计算机蓝牙发送文件,电脑怎么利用蓝牙使手机和电脑互传文件
- Spring security5.5.7出现Encoded password does not look like BCrypt异常
- Word第n页显示第一页的页码
- 详解 yolo配置文件各参数的含义
- python求鸡兔同笼 鸡兔总数鸡兔腿_编写一个程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡兔各有多少只?...
- 算法初步--什么是算法
- 智能盆栽养花,不一样的养殖趣味