如何验证ussd代码以进行余额检查

时间:2016-11-09 09:29:43

标签: android validation android-edittext

如何在发送

之前验证在edittext中输入的USSD代码

我在这里给一些代码帮助我。

+=

我希望验证它必须包含*和#也最少5位数。

2 个答案:

答案 0 :(得分:0)

这可能会有所帮助:

if (Pattern.matches("(\\*[0-9]+[\\*[0-9]+]*#)", ussd_edittext.getText().toString()) && ussd_edittext.length() >= 5) {
        //USSD code is valid
    } else {
        //USSD code is not valid
    }

答案 1 :(得分:0)

我做过类似的事。

ussd_edittext.addTextChangedListener(new TextWatcher() 
{
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                    ussd_edittext.setError("Invalid password");
                    ussd_ok.setEnabled(false);
                }
               public void onTextChanged(CharSequence s, int start, int before, int count) {    
                    if (ussd_edittext.getText().toString().trim().length() < 4 && ( ! t.contains(""+ussd_edittext))) {
                        ussd_edittext.setError("USSD code must contain * and #");
                        ussd_ok.setEnabled(false);
                    }
                }

                @Override
                public void afterTextChanged(Editable s)
                {
                    if (ussd_edittext.getText().toString().trim().length() > 4)
                    {
                        Character fc = ussd_edittext.getText().toString().charAt(0);    
                        String lc = ussd_edittext.getText().toString().substring(ussd_edittext.length() - 1);
                        if(!((fc == '*') && lc.equals("#")))
                        {
                            ussd_edittext.setError("USSD code must contain * and #");
                            ussd_edittext.requestFocus();
                        }
                        else
                        {                      ussd_ok.setEnabled(true);               }
                    }
                    else
                    {                        ussd_edittext.setError("USSD code must contain * and #");                 }
                }
            });