银行卡号4位一空格
2017-03-24 15:36
155 查看
废话不多说,直接上图
布局文件中引用
一个自定义的edittext控件
大家注意的是,取值时,一定要注意
用以上的方法取值,不然会得到空格
对你有帮助就点赞,谢谢
布局文件中引用
一个自定义的edittext控件
public class HPEditText extends EditText { private boolean isRun = false; private String d = ""; public HPEditText(Context context) { super(context); setBankCardTypeOn(); } public HPEditText(Context context, AttributeSet attrs) { super(context, attrs); setBankCardTypeOn(); } public HPEditText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setBankCardTypeOn(); } private void setBankCardTypeOn() { HPEditText.this.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(isRun){ isRun=false; return; } isRun = true; d = ""; String newStr = s.toString(); newStr = newStr.replace(" ", ""); int index = 0; while ((index + 4) < newStr.length()){ d += (newStr.substring(index, index + 4) + " "); index += 4; } d += (newStr.substring(index, newStr.length())); int i = getSelectionStart(); HPEditText.this.setText(d); try { if (i % 5 == 0 && before == 0) { if (i + 1 <= d.length()) { HPEditText.this.setSelection(i + 1); } else { HPEditText.this.setSelection(d.length()); } } else if (before == 1 && i < d.length()) { HPEditText.this.setSelection(i); } else if (before == 0 && i < d.length()) { HPEditText.this.setSelection(i); } else HPEditText.this.setSelection(d.length()); }catch (Exception e){ } } @Override public void afterTextChanged(Editable s) { } }); } //对外提供暴漏的方法 private void insertText(EditText editText, String mText) { editText.getText().insert(getSelectionStart(), mText); } }
大家注意的是,取值时,一定要注意
et_idcard.getText().toString().replace(" ","");
用以上的方法取值,不然会得到空格
对你有帮助就点赞,谢谢
相关文章推荐
- 银行卡号每隔4位插入空格
- IOS中根据正则表达式来输入的文本框TextField,输入时自动格式化银行卡号(4位一空格)、手机号等
- php 银行卡号 手机号码 正则表达式格式化 每4位隔空格显示
- JS控制文本框:输入银行卡号,4位自动加上空格分隔
- 基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
- 银行卡号每隔4位插入空格 (再用户填写银行卡号的时候挺有用的) IE9+
- JS输入银行卡号,4位自动加空格
- Excel中关于银行卡号的应用即每隔4位加个空格及删除空格
- 每4位加一个空格(比如银行卡号)
- JS填写银行卡号每隔4位数字加一个空格
- JS控制文本框:输入银行卡号,4位自动加上空格分隔
- 原生js实现银行卡号每隔4位数字加一个空格案例
- 输入银行卡号,每隔4位数字加一个空格(小细节)
- php 银行卡号 手机号码 正则表达式格式化 每4位隔空格显示
- js填写银行卡号,每隔4位数字加一个空格
- 关于使用js/jquery监听input框输入的银行卡号,在输入时放大显示且每隔4位加一空格
- js填写银行卡号,每隔4位数字加一个空格
- 银行卡号每隔4位插入空格
- JS控制文本框:输入银行卡号,4位自动加上空格分隔
- JS 输入银行卡号,4位自动加空格