验证在 EditText 中输入的电子邮件 ID 的模式 [重复]
Posted
技术标签:
【中文标题】验证在 EditText 中输入的电子邮件 ID 的模式 [重复]【英文标题】:Pattern to validate the email id entered in EditText [duplicate] 【发布时间】:2012-10-21 19:41:48 【问题描述】:模式匹配以验证在 Edittext 中输入的 emailid。
Pattern.compile("[a-zA-Z0-9+._%-+]1,256" + "[a-zA-Z0-9][a-zA-Z0-9-]0,64" + "(" + "." + "[a-zA-Z0-9][a-zA-Z0-9-]0,25" + ")+");
【问题讨论】:
模式 .compile("[a-zA-Z0-9+._%-+]1,256" + "@" + "[a-zA-Z0-9][a- zA-Z0-9-]0,64" + "(" + "." + "[a-zA-Z0-9][a-zA-Z0-9-]0,25" + " )+"); 先生这是复制粘贴但我无法理解... 检查这个:***.com/questions/201323/… 您还有其他简单的选择吗? 【参考方案1】:试试这个:它对我来说运行良好。
Set Input Type "Email"
用于在 XML 文件中编辑文本。
public void Is_Valid_Email()
if(Email_Text.getText().toString()!=null)
if(isEmailValid(Email_Text.getText().toString())==false )
Toast.makeText(getApplicationContext(), "Invalid Email Address ",Toast.LENGTH_LONG).show();
Valid_Email=null;
else
Valid_Email=Email_Text.getText().toString();
else
Valid_Email=null;
// end of email
// Android 提供默认验证电子邮件地址的方法
boolean isEmailValid(CharSequence email)
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
// end of email matcher
享受吧。
【讨论】:
最好使用默认而不是手工制作。很好的答案...:-)【参考方案2】:使用以下函数验证电子邮件 ID。
public boolean isValidEmailAddress(String emailAddress)
String expression="^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]2,4$";
CharSequence inputStr = emailAddress;
Pattern pattern = Pattern.compile(expression,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
return matcher.matches();
【讨论】:
【参考方案3】:用这个改变你的正则表达式
"[a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+"
或点击下面的链接了解 java 中的电子邮件模式
Email pattern in java
【讨论】:
【参考方案4】:使用以下方法检查有效的电子邮件 ID。
/**
* method is used for checking valid email id format.
*
* @param email
* @return boolean true for valid false for invalid
*/
public static boolean isEmailValid(String email)
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]2,4$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches())
isValid = true;
return isValid;
【讨论】:
【参考方案5】:EMAIL ADDRESS VALIDATION
的正则表达式
static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]2,)$";
String email = (EditText)findViewById(R.id.edittext);
if(!(_email.matches(EMAIL_PATTERN)))
Toast.makeText(getApplicationContext(),"Email is not valid", Toast.LENGTH_SHORT).show();
【讨论】:
@VarunVishnoi 我认为您发布问题是为了提高您的声誉。为什么你每次都要求投票? 因为我至少需要 15 名声望...您说得对,先生...这里的一切都需要时间...我不能为我的问题聊天,我不能在 20 分钟之前发布问题。这就是为什么我要求投票给我......但没问题先生,我可以管理。谢谢q @VarunVishnoi 如果您想提高声誉,请回答问题!获得更多声誉所需的时间更少。以上是关于验证在 EditText 中输入的电子邮件 ID 的模式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章