Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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
Java 仅当Android中的字段不为空时才进行电子邮件验证_Java_Android_Android Edittext_Email Validation - Fatal编程技术网

Java 仅当Android中的字段不为空时才进行电子邮件验证

Java 仅当Android中的字段不为空时才进行电子邮件验证,java,android,android-edittext,email-validation,Java,Android,Android Edittext,Email Validation,仅当EditText在Android中不为空时才验证电子邮件格式。如果字段为空,则不应检查验证。在这种情况下,我没有找到任何对我有用的解决方案。使用此方法检查电子邮件模式是否有效 public static boolean isEmailValid(CharSequence email) { return Patterns.EMAIL_ADDRESS.matcher(email).matches(); } 试试这个代码 验证邮件 ValidationMethod.jav

仅当EditText在Android中不为空时才验证电子邮件格式。如果字段为空,则不应检查验证。在这种情况下,我没有找到任何对我有用的解决方案。

使用此方法检查电子邮件模式是否有效

public static boolean isEmailValid(CharSequence email) {
        return Patterns.EMAIL_ADDRESS.matcher(email).matches();
    }
试试这个代码

验证邮件

ValidationMethod.java//将其放入项目中

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ValidationMethod {

    static Matcher m;
    static String emailExpression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,20}$";
    static Pattern emailPattern = Pattern.compile(emailExpression, Pattern.CASE_INSENSITIVE);
    static String passwordExpression ="((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\\W).{8,20})";
    static Pattern passwordPattern=Pattern.compile(passwordExpression);

    public static boolean emailValidation(String s)
    {
        if( s == null)
        {
            return false; 
        }
        else
        {
            m = emailPattern.matcher(s);
            return m.matches();
        }
    }

    public static boolean passwordValidation(String s)
    {
        if( s == null)
        {
            return false; 
        }
        else
        {
            m = passwordPattern.matcher(s);
            return m.matches();
        }
    }

    public static boolean emailValidation2(String s)
    {
        m = emailPattern.matcher(s);
        return m.matches();
    }
}
试试这个

boolean flag;
String pass = editText.getText().toString().trim();
if(!pass.equals("")) {
    flag = isEmailValid(pass);
}

public static boolean isEmailValid(CharSequence email) {
    return Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
并使用标志值进一步使用

尝试以下操作

<form>
    <lable for="userEmail">Email : </label>
    <input type="email" id="userEmail" placeholder="johndoe@example.com" required="required">
<form>

假设您已经像这样声明了EditText

编辑文本字段

那么你的方法呢

emailField = (EditText)view.getViewById(R.id.NAME_OF_FIELD_IN_XML);
if(!TextUtils.isBlank(emailField.getText().toString())){
     //validate your email address
}
使用下面的链接获取电子邮件验证代码

http://stackoverflow.com/questions/12947620/email-address-validation-in-android-on-edittext

您可以尝试此方法进行验证

    public boolean Email_validation(String CorpId)
{
    String regExpn =
            "^(([\\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})$";

    CharSequence inputStr = CorpId;

    Pattern pattern = Pattern.compile(regExpn, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);

    if(matcher.matches())
        return true;
    else
        return false;
}

我可以帮助你,但首先在这里展示你的努力,就像你昨天所做的那样。你到目前为止做了什么?首先在谷歌上搜索
http://stackoverflow.com/questions/12947620/email-address-validation-in-android-on-edittext
    public boolean Email_validation(String CorpId)
{
    String regExpn =
            "^(([\\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})$";

    CharSequence inputStr = CorpId;

    Pattern pattern = Pattern.compile(regExpn, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);

    if(matcher.matches())
        return true;
    else
        return false;
}