如何验证电子邮件字段输入
- 不以“@”或“.”开头
- 不包含超过 1 个“@”或“.”
我已经将电子邮件字段编码为超过 14 个字符,以“.com”结尾,并将“@”放在“.”旁边
String regemail = emailfield.getText();
if ( !regemail.contains("@") ) {
JOptionPane.showMessageDialog(null, "Email must contain '@' once");
emailfield.requestFocus();
return false;
} else
if ( !regemail.contains(".com") ) {
JOptionPane.showMessageDialog(null, "Email must contain '.com'
once");
emailfield.requestFocus();
return false;
} else
if ( regemail.indexOf("@")
> regemail.lastIndexOf(".com") ) {
JOptionPane.showMessageDialog(null, "Wrong Email Format");
emailfield.requestFocus();
return false;
} else
if(regemail.length() < 13) {
JOptionPane.showMessageDialog(null, "Email length must more
than 14 characters");
emailfield.requestFocus();
return false;
}
最佳答案
请使用正则表达式:
private final Pattern EMAIL_ADDRESSS_REGEX_PATTERN =
Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
private boolean isValidEmail(String email)
{
return EMAIL_ADDRESSS_REGEX_PATTERN.matcher(email).find();
}
关于java - 如何在java上验证电子邮件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56503361/