重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
自己写逻辑验证的方式可以做到。我写了下面的:
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比商水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式商水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖商水地区。费用合理售后完善,十多年实体公司更值得信赖。
public static boolean validateEmail(String email) {
boolean flag = false;
int pos = email.indexOf("@");
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
String[] strings = email.split("@");
if (strings.length != 2) {// 如果邮箱不是xxx@xxx格式
return false;
}
CharSequence cs = strings[0];
for (int i = 0; i cs.length(); i++) {
char c = cs.charAt(i);
if (!Character.isLetter(c) !Character.isDigit(c)) {
return false;
}
}
pos = strings[1].indexOf(".");// 如果@后面没有.,则是错误的邮箱。
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
strings = strings[1].split(".");
for (int j = 0; j strings.length; j++) {
cs = strings[j];
if (cs.length() == 0) {
return false;
}
for (int i = 0; i cs.length(); i++) {//如果保护不规则的字符,表示错误
char c = cs.charAt(i);
if (!Character.isLetter(c) !Character.isDigit(c)) {
return false;
}
}
}
return true;
}
这个效率也不会差很多,不过我推荐matches方法,经过测试的,matches匹配方式运行10000次的时间比上面的时间少了20毫秒。
for(int i=1;i=a.length();i++)
{
d=a.substring(i-1,i);
if(d.equals("@."))
{
return false;
}
}
这个循环判定完是有@.返回false不对的,用判定"@."是否存在好一些
if(!a.contains("@."))
{
return false;
}
实现原理,实际上就是输入一个字符串,之后通过正则表达式验证此字符串是否符合邮箱的格式规范,通过以下工具类即可:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegisterCheck {
/**
* 验证输入的邮箱格式是否符合
* @param email
* @return 是否合法
*/
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
}