2016-03-29 17 views
0

[登錄活動]Android edittext我們如何才能知道用戶輸入了電話號碼或電子郵件

我是Android應用開發新手。 我正在開發android應用程序。 用戶可以使用電子郵件ID或手機號登錄Facebook登錄。 我們如何知道用戶輸入的電子郵件或手機。 請幫助我。 驗證是他們的任何驗證框架工作在Android API如密碼,電子郵件ID移動無模式匹配等請幫助我。

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:inputType="text" 
    android:ems="10" 
    android:id="@+id/etUserName" 
    android:layout_marginTop="90dp" 
    android:hint="Enter Email id/Mobile no" 
    android:textColorHint="#4d060505" 
    android:background="@drawable/edittext_bg" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:gravity="center"> 
    <requestFocus/> 
</EditText> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:inputType="textPassword" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" 
    android:ems="10" 
    android:id="@+id/etPwd" 
    android:hint="Password" 
    android:textColorHint="#4d060505" 
    android:layout_marginBottom="5dp" 
    android:layout_marginTop="10dp" 
    android:background="@drawable/edittext_bg" 
    android:layout_below="@+id/etUserName" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:gravity="center"/> 

此代碼完美地爲我工作。 你的建議後,我試了一下。

if(isEmailValid(loginname)){ Toast.makeText(getApplicationContext(), "Email", Toast.LENGTH_LONG).show(); }else if(isValidMobileNumber(loginname)){ Toast.makeText(getApplicationContext(), "mobileNo", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(getApplicationContext(), "Enter Email or Mobile No", Toast.LENGTH_LONG).show(); }

+0

作爲您的建議我修改了我的代碼,它完美地爲我找到給定的輸入是電子郵件或手機號碼 –

回答

2

如果您Edittext返回值低於其電子郵件true嘗試使用電子郵件

boolean isEmailValid(CharSequence email) { 
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
} 

其他手機號碼

+0

非常感謝。我試過這個,它爲我工作。感謝 –

2

你可以用它來檢查輸入是否是電子郵件與否:

public static boolean isEmailValid(CharSequence email) { 
     return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
    } 
+0

非常感謝。我試過這個,它爲我工作。謝謝 –

0

第一個LL getTexteditText,併爲收發電子郵件和手機號碼,像下面正確的驗證:

email=edt_email.getText().toString(); 
    if (!isValidEmail(email)) 
    { 
     // your code 
    } 

    private boolean isValidEmail(String email) { 
     String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" 
       + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; 

     Pattern pattern = Pattern.compile(EMAIL_PATTERN); 
     Matcher matcher = pattern.matcher(email); 
     return matcher.matches(); 
    } 

    private boolean isValidPhone(String pass) { 
     return pass != null && pass.length() == 10; 
    } 
-1

檢查。

private boolean emailCheck(String value){ 
     Boolean reply = false; 
     if(value.contains("@")){ 
      reply = true; 
     } 
     return reply; 

} 
+0

你確定你的例子可以驗證電子郵件地址嗎? –

+0

例如,如果我輸入「sreejin @?!?#。,= - [8631 ///。com」您的方法將返回true ....但電子郵件遠離有效... –

+0

此答案僅爲普通錯誤 – kimbaudi

0

這裏就是我在我的項目

private static boolean isValidPhoneNumber(String mobile) { 
     String regEx = "^[0-9]{11,12}$"; 
     return mobile.matches(regEx); 
    } 

private boolean isValidEmaillId(String email){ 

     return Pattern.compile("^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@" 
       + "((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
       + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\." 
       + "([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
       + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" 
       + "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$").matcher(email).matches(); 
    } 

使用,你可以使用if else邏輯,以它來驗證手機或電子郵件您的活動

0

通過這兩種方法我解決了這個問題

public static boolean isPhoneNumberValid(String phoneNoWithConCode, String countryCode) 
    { 
     PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); 
     try 
     { 
      Phonenumber.PhoneNumber numberProto = phoneUtil.parse(phoneNoWithConCode, countryCode); 
      return phoneUtil.isValidNumber(numberProto); 
     } 
     catch (NumberParseException e) 
     { 
      System.err.println("NumberParseException was thrown: " + e.toString()); 
     } 
     return false; 
    } 

public static boolean isEmailValid(String email){ 
    return Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
} 

把這兩種方法一一調用一個個像

if(isPhoneNumberValid(.. , ..)) 
{ 
    //write your mobile no logic here 
}else if(isEmailValid(..) 
{ 
    //write you email logic here 
} 
相關問題