猿问

我无法验证电子邮件字段

我目前正在做一个项目,其中包含注册表单,并且电子邮件验证必须在“@”符号后面包含“libraryparadise.com”或“gmail.com”,我似乎找不到解决方案。



倚天杖
浏览 159回答 4
4回答

呼啦一阵风

如果您想避免为电子邮件验证创建正则表达式,您可以使用下一个代码private void validateEmail() {    String email = emailEditText.getText().toString().trim();    if (PatternsCompat.EMAIL_ADDRESS.matcher(email).matches() &&            (email.endsWith("@gmail.com") || email.endsWith("libraryparadise.com"))) {        setEmail(email);    } else {        displayError();    }}

吃鸡游戏

尝试此代码来检查电子邮件验证 Patterns.EMAIL_ADDRESS.matcher 只需检查正确的电子邮件模式,例如“ abc@xyz.com ”  String email=emailText.getText().toString();         //check email patterns validation          if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()){                Toast.makeText(context, "Email not valid", Toast.LENGTH_SHORT).show();             return;          }else{               Toast.makeText(context, "Email not valid", Toast.LENGTH_SHORT).show();                }

慕丝7291255

鉴于电子邮件地址的复杂性,目前还没有一个很好的电子邮件验证解决方案。考虑两部分验证1. 验证电子邮件地址文本是否以“@libraryparadise.com”或“@gmail.com”结尾,并且“@”字符左侧有 1 个字符2. 使用正则表达式验证电子邮件地址将这些验证分解为多个检查而不是一个大的正则表达式会更容易。如果检查位于不同的检查中,未来的开发人员可以阅读代码以更轻松地按顺序查看检查。

心有法竹

您可以使用正则表达式如果您确定只想要“libraryparadise.com”和“gmail.com”,那么您可以使用两个正则表达式并像这样比较它们。  String regex = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-9_]+)*@gmail.com*$";  String regex2 = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-   9_]+)*@libraryparadise.com*$";  Pattern pattern = Pattern.compile(regex);  Pattern pattern2 = Pattern.compile(regex2);获取包含文本的视图sampleText=findViewById(R.id.sampleText);然后在条件中的任何地方使用它。if(pattern.matcher(sampleText.getText().toString().trim()).matches()||   pattern2.matcher(sampleText.getText().toString().trim()).matches()){   //ValidEmail}else {      //Invalid Email}
随时随地看视频慕课网APP

相关分类

Java
我要回答