java - 如何在java上验证电子邮件输入
问题描述
如何验证电子邮件字段输入
- 不以“@”或“。”开头。</li>
- 不包含超过 1 个“@”或“。”</li>
我已经将电子邮件字段编码为超过 14 个字符,以“.com”结尾,并在“.”旁边添加“@”。</p>
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();
}
推荐阅读
- angular - 单击离子项目中的眼睛图标时可以防止键盘打开吗?
- terraform - Terraform 在运行的每个计划上报告对 Application Insights 键的更改
- reactjs - 尝试在自定义侧边栏上显示用户名,它给了我下面的错误消息
- r - 通过保留列名来绑定 R 中的行
- python - python open-cv的人脸识别
- excel - 仅过滤一行数据时复制/粘贴不起作用
- python - 让 Telegram 机器人回复由命令回复的消息
- python - PIP 安装 py 包
- odoo - 如何在 Odoo 13 的表单构建器中添加电子邮件收件人?
- python - 有没有办法在 MacOS 中使用 Python 在 MS Word 文档上运行 VBA 宏?