Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 电子邮件有效性检查_Android - Fatal编程技术网

Android 电子邮件有效性检查

Android 电子邮件有效性检查,android,Android,我使用此代码检查电子邮件的有效性。然而,这是可行的。它总是一遍又一遍地显示无效电子邮件 private boolean isValidEmail(String email){ boolean isValidEmail = false; String regExpn = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"; CharSequence inputStr = email; Pattern pattern = Pattern.com

我使用此代码检查电子邮件的有效性。然而,这是可行的。它总是一遍又一遍地显示无效电子邮件

private boolean isValidEmail(String email){
    boolean isValidEmail = false;

    String regExpn = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

    CharSequence inputStr = email;

    Pattern pattern = Pattern.compile(regExpn, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    if (email.matches(regExpn))
    {
        isValidEmail = true;
    }
    return isValidEmail;
}
下面是方法调用

else if(!isValidEmail(edit_txt_EmailAddress.toString().trim()))
{
 showAlertDialog(Login.this, "Email", "Enter Valid Email", false);
 edit_txt_EmailAddress.requestFocus();
}
选中此项:

public static boolean isEmailValiddate(String email) {
Pattern pattern = Pattern
 .compile("\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}\\b");
Matcher matcher = pattern.matcher(email);
if (!matcher.find()) {
return false;
}
return true;
}

Android内置了模式匹配器。您可以通过以下代码尝试此操作

public final static boolean isValidEmail(CharSequence target) {
        if (target == null) {
            return false;
        } else {
            return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
        }
    }
我已经试过了,它正在起作用


希望这有帮助。快乐编码:)

更改方法调用:

isValidEmail(编辑_txt_EmailAddress.getText().toString().trim())


在生成匹配器中用于验证

if(android.util.Patterns.EMAIL_ADDRESS.matcher("xyz@gmail.com").matches()){

}
else{
        //invalid
    }
注:其适用于Api 8级及以上

Altrante#使用正则表达式,尝试以下代码:

// BOOLEAN METHOD TO CHECK THE PATTERN OF THE EMIL-ID INPUT BY THE USER
    public static boolean isEmail(String email) {
        boolean matchFound1;
        boolean returnResult = true;
        email = email.trim();
        if (email.equalsIgnoreCase(""))
            returnResult = false;
        else if (!Character.isLetter(email.charAt(0)))
            returnResult = false;
        else {
            Pattern p1 = Pattern.compile("^\\.|^\\@ |^_");
            Matcher m1 = p1.matcher(email.toString());
            matchFound1 = m1.matches();


            Pattern p = Pattern
                    .compile("^[a-zA-z0-9._-]+[@]{1}+[a-zA-Z0-9]+[.]{1}+[a-zA-Z]{2,4}$");
            // Match the given string with the pattern
            Matcher m = p.matcher(email.toString());

            // check whether match is found
            boolean matchFound = m.matches();

            StringTokenizer st = new StringTokenizer(email, ".");
            String lastToken = null;
            while (st.hasMoreTokens()) {
                lastToken = st.nextToken();
            }
            if (matchFound && lastToken.length() >= 2
                    && email.length() - 1 != lastToken.length()
                    && matchFound1 == false) {

                returnResult = true;
            } else
                returnResult = false;
        }
        return returnResult;
    }

使用以下方法:

private boolean validEmail(String email) {
        Pattern pattern = Patterns.EMAIL_ADDRESS;
        return pattern.matcher(email).matches();
    }
在代码中编写以下代码:

if (!validEmail(registerEmailET.getText().toString())) {
                    //show error
Toast.makeText(this,"Invalid Email",Toast.LENGTH_LONG).show;
                    return;
                }

它正在将有效邮件地址解析为无效:例如
foo+bar@gmail.com
无效<代码>foo@mail.imabillionaireandcaneffortrunningafancynewtld即将生效。偶数
foo_bar@yahoo.com
是有效的。请不要惊慌,我的代码运行非常顺利,亲爱的,我用我的方法检查您的所有模式,首先检查您自己,非常感谢。好了,现在…:)
if (!validEmail(registerEmailET.getText().toString())) {
                    //show error
Toast.makeText(this,"Invalid Email",Toast.LENGTH_LONG).show;
                    return;
                }