我一直试图找出代表电话号码和金额的合适方式。让我具体一点,我有一个用户表格,用户应填写他们的电话号码和金额。我来自尼泊尔,我们的电话号码通常为01-4444445或023-454566。我想知道我该怎么做?另外,在金额字段中,我希望以这种格式显示金额1,000,000,依此类推。例如,当用户输入四位数时,逗号符号应自动添加到该字段中。 Plz,建议我这样做的方式。我一直在尝试这一周。 提前谢谢。
答案 0 :(得分:1)
从TextWatcher调用此函数(用于NTC预付验证) " ^(984 | 986)\ d {7} $"这意味着电话号码以984或986开头,之后有7位数字,即总共10位数
phoneNumber.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(!isValidNumber(s.toString())){
isnumbervalid=false;
phoneNumber.setTextColor(Color.parseColor("#F44336"));
}else {
isnumbervalid=true;
phoneNumber.setTextColor(Color.parseColor("#000000"));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
private boolean isValidNumber(String phonenumber) {
String PHONE_PATTERN = "^(984|986)\\d{7}$";
Pattern pattern = Pattern.compile(PHONE_PATTERN);
Matcher matcher = pattern.matcher(phonenumber);
return matcher.matches();
}