Android 封装--XEditText--EditText扩展
作者:
使用场景
设计中经常会出现只有IOS版本,元素及控件很多都是IOS原生。EditText扩展,带删除按钮的输入框,及手机号简单验证(1开头11位)、正则验证(各个运营商号段验证),身份证合法性校验
功能描述
- 提供删除按钮,自定义属性配置图片
<com.adinnet.widget.XEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:deleteDrawable="@mipmap/icon_delete"/>
- 提供手机号校验
/**
* 检验是否符合手机号规则
* @return
*/
public boolean isPhoneCheckPass() {
String text = this.getText().toString().trim();
return !TextUtils.isEmpty(text) && RxRegUtils.isMobileSimple(text);
}
简单验证
/**
* 正则:手机号(简单)
*/
public static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
精确验证
/**
* 正则:手机号(精确)
* 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188
* 联通:130、131、132、145、155、156、175、176、185、186
* 电信:133、153、173、177、180、181、189
* 全球星:1349
* 虚拟运营商:170
*/
public static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";
- 提供身份证号校验
/**身份证是否合法**/
public boolean isIDCardVail() {
String text = this.getText().toString().trim();
return !TextUtils.isEmpty(text) && TextUtils.isEmpty(RxRegUtils.IDCardValidate(text));
}
添加依赖
- 在Project的gradle添加仓库地址
repositories {
// jcenter()
maven{url "http://10.40.255.100:8081/artifactory/libs-release-local"}
maven{url "http://10.40.255.100:8081/artifactory/jcenter"}
}
- 在主项目的gradle添加依赖
dependencies {
compile 'com.adinnet.widget:xedittext:1.0.0'
}