我想将字母输入的数量限制为18个字符,并且不能使用超过3个数字。
为了限制长度,我已经完成了代码,但不知道该如何处理3个数字。
<android.support.v7.widget.AppCompatEditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="18"
android:layout_marginStart="5dp"
android:digits="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890 @#$"
android:layout_toEndOf="@+id/name_tv"
android:imeOptions="actionDone"
android:textColor="@android:color/black" />
答案 0 :(得分:0)
您可以使用textWatchers
来检查用户在three digits
中输入的内容不要超过input field
:
yourEdittext.addTextChangedListener(new TextWatcher()
{
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String numberRegx = "(?:\D*\d){3}";
String currentString = yourEdittext.getText().length();
if (currentString.matches(numRegex)) {
System.out.println("Invalid: " + input);
}else{
System.out.println("Valid: " + input);
}
}
});