移动应用程序电话,使用表达式编辑文本验证

时间:2017-04-24 09:40:30

标签: java android validation email phone-number

我需要验证手机和电子邮件在Android应用程序中编辑文本。

电子邮件文字我希望它与熟悉的电子邮件语法“example@gmail.com”匹配

手机短信我希望它像这样的“xxx-xxx-xxxx”,其中x只是数字

我希望验证发生在OnFocusChangeListener

    EmailTxt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFoucs) {
            if(!hasFoucs){
                Email = EmailTxt.getText().toString();
                if (!Email.matches("^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$")){
                    EmailTxt.setBackgroundColor(Color.parseColor("#FFBABA"));
                    Toast.makeText(ctx,"Email should be 10 numbers",Toast.LENGTH_LONG).show();
                    flag_email = 0;
                }
                else {
                    EmailTxt.setBackgroundColor(Color.WHITE);
                    flag_email =1;
                }
            } else {
                EmailTxt.setBackgroundColor(Color.WHITE);
            }

        }
    });

对于电子邮件,我试过这个

function getPrice(today, callback){
    var url;
    var username = 'some username';
    var password = 'some password'; 
    url = 'some url'+ createTimeString(today);

    var options = {
        host: 'some host',
        path: url,
        auth: username + ':' + password
    };

    https.get(options, function(res){
        res.setEncoding('utf8');
        var body = '';

        res.on('data', function(d) {
            body += d;
            var obj = JSON.parse(body);
            console.log(obj);
            callback(obj.Entries[0].EntryPx);
        });

        res.on("end", function () {
            //console.log(body);
        });

        res.on('error', function(e) {
                context.fail("Got error: " + e.message);
        });         
    });
}

getPrice(today, function(result) {
    curr_price = result;
    speechOutput = "The curr price is " + curr_price.toString();

    //rest of code
});

如果可以将表达式放在matches()中而不是使用其他方法,那么它将更适合我。

1 个答案:

答案 0 :(得分:0)

https://github.com/thyrlian/AwesomeValidation

使用此库执行验证。

另见: https://developer.android.com/reference/android/util/Patterns.html

Android中的模式。

希望这有帮助。