如何验证电话号码和金额

时间:2016-12-25 17:42:04

标签: android validation

我一直试图找出代表电话号码和金额的合适方式。让我具体一点,我有一个用户表格,用户应填写他们的电话号码和金额。我来自尼泊尔,我们的电话号码通常为01-4444445或023-454566。我想知道我该怎么做?另外,在金额字段中,我希望以这种格式显示金额1,000,000,依此类推。例如,当用户输入四位数时,逗号符号应自动添加到该字段中。 Plz,建议我这样做的方式。我一直在尝试这一周。 提前谢谢。

1 个答案:

答案 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();
        }