移动应用程序 phone,使用表达式的电子邮件编辑文本验证
Mobile application phone, email edit text validation using expressions
我需要在 android 应用程序中验证 phone 和电子邮件编辑文本。
电子邮件文本我希望它符合熟悉的电子邮件语法"example@gmail.com"
Phone 文本我希望它像这样 "xxx-xxx-xxxx" 其中 x 仅是数字
我希望验证发生在 OnFocusChangeListener
phoneNum.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFoucs) {
if(!hasFoucs){
Phone = phoneNum.getText().toString();
if (!Phone.matches("^\d{3}-\d{3}-\d{4}$/")){
phoneNum.setBackgroundColor(Color.parseColor("#FFBABA"));
Toast.makeText(ctx,"Phone Syntax incorrect",Toast.LENGTH_LONG).show();
flag_phone = 0;
}
else {
phoneNum.setBackgroundColor(Color.WHITE);
flag_phone =1;
}
} else {
phoneNum.setBackgroundColor(Color.WHITE);
}
}
});
对于电子邮件,我试过这个
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);
}
}
});
如果可以将表达式放在 matches() 中而不是使用其他方法,那将更适合我。
https://github.com/thyrlian/AwesomeValidation
使用此库执行验证。
另见:
https://developer.android.com/reference/android/util/Patterns.html
Android 中的模式。
希望对您有所帮助。
我需要在 android 应用程序中验证 phone 和电子邮件编辑文本。
电子邮件文本我希望它符合熟悉的电子邮件语法"example@gmail.com"
Phone 文本我希望它像这样 "xxx-xxx-xxxx" 其中 x 仅是数字
我希望验证发生在 OnFocusChangeListener
phoneNum.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFoucs) {
if(!hasFoucs){
Phone = phoneNum.getText().toString();
if (!Phone.matches("^\d{3}-\d{3}-\d{4}$/")){
phoneNum.setBackgroundColor(Color.parseColor("#FFBABA"));
Toast.makeText(ctx,"Phone Syntax incorrect",Toast.LENGTH_LONG).show();
flag_phone = 0;
}
else {
phoneNum.setBackgroundColor(Color.WHITE);
flag_phone =1;
}
} else {
phoneNum.setBackgroundColor(Color.WHITE);
}
}
});
对于电子邮件,我试过这个
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);
}
}
});
如果可以将表达式放在 matches() 中而不是使用其他方法,那将更适合我。
https://github.com/thyrlian/AwesomeValidation
使用此库执行验证。
另见: https://developer.android.com/reference/android/util/Patterns.html
Android 中的模式。
希望对您有所帮助。