E-Mail und TelefonnummerValidierung in android

? user3437313 @ | Original: StackOverFlow
---

In meiner Anwendung habe ich eine Registrierung Ich Validierung der einzelnen Felder in meinem Anmeldeformular . Aber hier bin ich mit Blick auf ein Problem mit meinem Validierung Validierung während die Telefonnummer und E-Mail -ID .

Hier ist mein Code :

private boolean validate(){

       String MobilePattern = "[0-9]{10}";
       //String email1 = email.getText().toString().trim();
       String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+.+[a-z]+";


    if(name.length() > 25){
        Toast.makeText(getApplicationContext(), "pls enter less the 25 

characher in user name", Toast.LENGTH_SHORT).show();
        return true;
    }



    else if(name.length() == 0 || number.length() == 0 || email.length() == 

0 || subject.length() == 0 || message.length() == 0){
        Toast.makeText(getApplicationContext(), "pls fill the empty 

fields", Toast.LENGTH_SHORT).show();
        return false;
    }

    else if (email.getText().toString().matches(emailPattern))
    { 
        //Toast.makeText(getApplicationContext(),"valid email 

address",Toast.LENGTH_SHORT).show();


        return true;
    }
    else if(!email.getText().toString().matches(emailPattern))
    { 
        Toast.makeText(getApplicationContext(),"Please Enter Valid Email 

Adress",Toast.LENGTH_SHORT).show();


        return false;
    }
    else if(number.getText().toString().matches(MobilePattern))
    {
        Toast.makeText(getApplicationContext(), "phone number is valid", 

Toast.LENGTH_SHORT).show();

        return true;
    }
    else if(!number.getText().toString().matches(MobilePattern))
    {
        Toast.makeText(getApplicationContext(), "Please enter valid 10 

digit phone number", Toast.LENGTH_SHORT).show();


        return false;
    }

    return false;

     }

Ich habe diesen Code oben für die Validierung ist das Problem ich bin vor ist die Telefonnummer und E-Mail -ID -Validierung nur eine Validierung wird zum Beispiel Arbeitskommentiere ich die Telefonnummer E-Mail -ID Validierung ordnungsgemäß funktioniert, wenn ich die E-Mail -ID Kommentar Rufnummer verwendet Validierung funktioniert, wenn mit dem sowohl die Validierung ihrer nicht.

---

Top 5 Antwort

1Shabbir Dhangot @

Für gültige E-Mail -Adresse

private boolean isValidMail(String email2) 
{
    boolean check;
    Pattern p;
    Matcher m;

    String EMAIL_STRING = "^[_A-Za-z0-9-+]+(.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(.[A-Za-z0-9]+)*(.[A-Za-z]{2,})$";

    p = Pattern.compile(EMAIL_STRING);

    m = p.matcher(email2);
    check = m.matches();

    if(!check)
    {
        txtEmail.setError("Not Valid Email");
    }
    return check;
}

Für Gültig Mobil Sie müssen berücksichtigen, 7-stellige bis 13 -stellige, weil irgendein Land 7 stellige Mobiltelefonnummer haben . Auch können wir nicht überprüfen, wie Mobiltelefonnummer muss mit 9 oder 8 oder so beginnt ..

Für Handy-Nummer habe ich diese diese Funktion

private boolean isValidMobile(String phone2) 
{
    boolean check;
    if(phone2.length() < 6 || phone2.length() > 13)
    {
        check = false;
        txtPhone.setError("Not Valid Number");
    }
    else
    {
        check = true;
    }
    return check;
}
2jyomin @

Sie sollten false zurück, wenn keine Gültigkeit sonst die Funktion Rückgabetyp wahr sein sollte

private boolean validate(){

       String MobilePattern = "[0-9]{10}";
       //String email1 = email.getText().toString().trim();
       String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+.+[a-z]+";


    if(name.length() > 25){
        Toast.makeText(getApplicationContext(), "pls enter less the 25 

characher in user name", Toast.LENGTH_SHORT).show();
        return false;
    }



   if(name.length() == 0 || number.length() == 0 || email.length() == 

0 || subject.length() == 0 || message.length() == 0){
        Toast.makeText(getApplicationContext(), "pls fill the empty 

fields", Toast.LENGTH_SHORT).show();
        return false;
    }

    if (!(email.getText().toString().matches(emailPattern)))
    { 
        //Toast.makeText(getApplicationContext(),"Not valid email 

address",Toast.LENGTH_SHORT).show();


        return false;
    }


    if(!number.getText().toString().matches(MobilePattern))
    {
        Toast.makeText(getApplicationContext(), "Please enter valid 10 

digit phone number", Toast.LENGTH_SHORT).show();


        return false;
    }

    return true;

     }
3Nambi Narayanan @

Verwenden http://developer.android.com/reference/java/util/regex/Pattern.html Paket in Android, die Überprüfung von Eingaben für E-Mail und Telefon übereinstimmen

Do like

Pattern
4Akki @

Try this

android.util.Patterns.EMAIL_ADDRESS.matcher(input).matches();
android.util.Patterns..PHONE.matcher(input).matches();
5Thomas Bouron @

Android hat http://developer.android.com/reference/android/util/Patterns.html für E-Mail, Telefonnummer, etc., die Sie verwenden können, wenn Sie für Android API-Ebene 8 und höher bauen .

public class Validation {

    public final static boolean isValidEmail(CharSequence target) {
        if (target == null) {
        return false;
        } else {
        return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
        }
    } 

    public static final boolean isValidPhoneNumber(CharSequence target) {
        if (target.length()!=10) {
            return false;
        } else {
            return android.util.Patterns.PHONE.matcher(target).matches();
        }
    }

}