我正在尝试在Android中创建邮件发送应用程序.
如果我使用:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
Run Code Online (Sandbox Code Playgroud)
这将启动内置的Android应用程序; 我正在尝试直接发送邮件,而不使用此应用程序.
我们怎样才能执行Email Validation上edittext的android?我已经浏览了谷歌和SO,但我没有找到一种简单的方法来验证它.
我有这个EditText定义:
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:inputType="textEmailAddress"
android:id="@+id/EmailText"/>
Run Code Online (Sandbox Code Playgroud)
请注意,EditText具有使用电子邮件地址规范定义的inputType.Android是否内置了任何内容来验证电子邮件地址输入类型,还是必须手动完成?它允许我输入无效数据,所以我很好奇它的目的.
谢谢.
大家好我有一个edittext,我想在我的Editttext中编写电子邮件验证,这是一个xml代码
<EditText
android:id="@+id/mail"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignLeft="@+id/phone"
android:layout_below="@+id/phone"
android:layout_marginRight="33dp"
android:layout_marginTop="10dp"
android:background="@drawable/edit_background"
android:ems="10"
android:hint="E-Mail"
android:inputType="textEmailAddress"
android:paddingLeft="20dp"
android:textColor="#7e7e7e"
android:textColorHint="#7e7e7e" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
这是一个java代码
emailInput = mail.getText().toString().trim();
emailPattern = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
if (emailInput.matches(emailPattern)) {
Toast.makeText(getActivity(), "valid email address", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Invalid email address", Toast.LENGTH_SHORT).show();
mail.setBackgroundResource(R.drawable.edit_red_line);
}
Run Code Online (Sandbox Code Playgroud)
我无法验证.烤面包消息总是"无效的电子邮件地址"我做错了什么?如果有人知道解决方案,请帮助我
我想验证EditText中引入的电子邮件,以及我已经拥有的代码:
final EditText textMessage =(EditText)findViewById(R.id.textMessage);
final TextView text =(TextView)findViewById(R.id.text);
textMessage.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if (textMessage.getText().toString().matches("[a-zA-Z0-9._-]+@[a-z]+.[a-z]+") && s.length() > 0)
{
text.setText("valid email");
}
else
{
text.setText("invalid email");
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
Run Code Online (Sandbox Code Playgroud)
问题是当我在"@"之后引入3个字符时,它会显示消息"有效电子邮件",当我在介绍完整的电子邮件时它必须出现.
有什么建议吗?
谢谢你们!
有没有人知道根据RFC5321/RFC5322验证电子邮件地址的正则表达式?
由于(可嵌套)注释使语法不规则,因此只应考虑没有注释的地址.
当然,如果您对验证某人实际拥有的地址感兴趣,那么唯一真正的验证是向该地址发送电子邮件并检查所有者是否收到了该地址.然而,我对RFC标准纯粹感兴趣.对于实际方法,这个问题更具相关性.
在评论之上,我愿意牺牲折叠空白区域,但除此之外,我对拒绝任何RFC5321/2有效地址的表达式不感兴趣.(可以说在某些情况下忽略折叠白色空间甚至是有意义的.)
理想情况下,正则表达式会拒绝任何不符合 RFC的内容,但这并不重要.例如,在正则表达式中包含一个详尽的顶级域列表并不是那么有趣.只需接受任何顶级域名就足够了.
我不确定地址标签(例如地址+ tag@domain.org)是否是我提到的RFC的一部分,但我希望正则表达式验证这些.
应该正确处理IPv6(RFC5952).
据我所知,国际化电子邮件(RFC6530,RFC6531,RFC6532,RFC6533)仍处于试验阶段,但验证这些地址的表达式也很有趣.
为了使答案普遍有趣,如果任何正则表达式是POSIX格式将是很好的.
我正在编写一个单元测试来检查电子邮件验证逻辑.运行测试时,逻辑是抛出空指针异常.但它适用于模拟器.有人可以帮我解决这个问题吗?
public static String validate(String email, String password) {
if (email == null || email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
return "Enter valid email address";
}
if (password.isEmpty() || password.length() < 4) {
return "Password should be between 4 and 10 alphanumeric characters";
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
以下是我的单元测试.
@Test
public void validateShouldReturnMessageIfYouPassAnInvalidEmail() throws Exception {
String validateMessage = LoginService.validate("abcdef", "password");
assertEquals("Enter valid email address", validateMessage);
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是,
java.lang.NullPointerException
at com.tryout.hemanth.expensetracker.service.LoginService.validate(LoginService.java:11)
Run Code Online (Sandbox Code Playgroud) 我对这个话题很陌生,可以在一段时间内验证所有电子邮件ID.实际需要是我想在我的应用程序中验证电子邮件(gmail,yahoo等),一旦验证通过,它应该继续我的应用程序.它可能是单点登录或其他什么.这可能吗?任何人都可以指导我这个主题.提前致谢
我正在尝试在注册用户时处理我的 android 应用程序中的错误情况。我想确保提供的电子邮件地址是有效的,有效是指正确的格式:“something@something.com”。
我在 google 和 stackoverflow 上搜索过,但在 Kotlin 中找不到确切的答案。
这些是无效的电子邮件。
email@domain.web
.email @ domain.com
我已在以下网站中检查了以上电子邮件,所有这些返回均无效。 http://isemail.info/关于 http://sqa.fyicenter.com/Online_Test_Tools/Email_Address_Format_Validator.php。
然而,android.util.Patterns.EMAIL_ADDRESS模式验证了两者。
是否有错误或我缺少什么?
我正在从此链接http://www.rgagnon.com/javadetails/java-0452.html使用示例,但出现错误:Could not find class javax.naming.directory.InitialDirContext为什么?
如何验证我的字段(例如:姓名,电子邮件,移动电话).
我验证了字段是否为空但我不知道如何检查格式是否有效
我的代码:
public void btnClick(View v)
{
EditText name = (EditText) findViewById(R.id.signup_name);
EditText email= (EditText) findViewById(R.id.signup_email);
EditText phone= (EditText) findViewById(R.id.signup_phone);
if(name.getText().length()==0)
{
name.setError("Field cannot be left blank.");
}
else if (email.getText().length()==0){
email.setError("Field cannot be left blank.");
}
else if (phone.getText().length()==0){
phone.setError("Field cannot be left blank.");
}
}
Run Code Online (Sandbox Code Playgroud) 我已经在我的应用程序中实现了电子邮件验证,但问题是应用程序接受超过64个字符的本地域部分,当我写..nnn .. @ gmail.com应用程序也接受这个并且还根据RFC 3696规范#第3节,期间(".")不得用于开始或结束本地部分,也不得出现两个或多个连续期间.
请帮帮我
private boolean isValidEmail(String email) {// validation for email Id
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,255}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}
Run Code Online (Sandbox Code Playgroud)