//edittext 正则限制
fun EditText.regex(regex:String){
addTextChangedListener(object : TextWatcher {
var last:String = ""
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
if(RegexUtils.isMatch(regex,s)){
last = s?.toString()?:""
}
}
override fun afterTextChanged(s: Editable?) {
s?.let {
val edit = it.toString()
//判断输入的是否符合正则,符合的话不做处理,否则改为上一次输入
if(edit.isNotBlank() && !RegexUtils.isMatch(regex,edit)){
setText(last)
//光标移动到最后
setSelection(last.length)
}
}
}
})
}