当前位置: 代码迷 >> J2SE >> 验证邮箱地址。帮帮,该怎么处理
  详细解决方案

验证邮箱地址。帮帮,该怎么处理

热度:328   发布时间:2016-04-24 15:16:36.0
验证邮箱地址。帮帮
1.检证完整的邮箱  
2必须包含@   “.”在“@”之后  
3在“.”与“@”之间不能有空格至少有一个有效字符  
4“.”和“@”不能第一个或最后一个  
5不能有特殊字符

------解决方案--------------------
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
------解决方案--------------------
String regex= "(.)+@(.)+\\.(com|cn|net) ";
String aaa= "goog@163.com ";
Pattern pa=Pattern.compile(regex);
Matcher ma=pa.matcher(aaa);
System.out.println(ma.matches()? "合格 ": "不合格 ");
试试~~
------解决方案--------------------
用struts直接就有验证
------解决方案--------------------
String mailAddress = "dsfasdfasdfas@asdfaslk.com ";
//不存在@
if(mailAddress.indexOf( "@ ") == -1){
System.out.print( "无@ ");
}
//不存在.
if(mailAddress.index( ". ")){
System.out.print( "无. ");
}
//@在最前,.在最后,@在.后
if((mailAddress.indexOf( "@ ") == 0) || (mailAddress.indexOf( ". ") == mailAddress.length()-1) || (mailAddress.indexOf( "@ ") > mailAddress.indexOf( ". "))){
System.out.pring( "形式不正确 ");
}

for(int i=0;i <mailAddress.length();i++){
Char var = mailAddress.charAt(i);
截出来的值和ascII比较
}


大致上就是这么写的,没有编译器,所以,细小的地方可能问题比较多。
仅供参考思路
------解决方案--------------------
import java.lang.*;

public class CheckEmail{


private int at=0;
private int dot=0;
public CheckEmail(String mailAddress){

mailAddress = "fasdfasdfas@asdfaslk.com ";
at=mailAddress.indexOf( "@ ") ;
//不存在@
if(at== -1){
System.out.print( "无@ ");
}
dot=mailAddress.indexOf( ". ");
//不存在.
if(dot==-1){
System.out.print( "无. ");
}
//@在最前,.在最后,@在.后
if((mailAddress.indexOf( "@ ") == 0) || (mailAddress.indexOf( ". ") == mailAddress.length()-1) || (mailAddress.indexOf( "@ ") > mailAddress.indexOf( ". "))){
System.out.print( "形式不正确 ");
}
int asc_int=0;
for(int i=0;i <mailAddress.length();i++){
if(i!=at&&i!=dot){

char var = mailAddress.charAt(i);
asc_int = (int)var;
if(!(asc_int==45||asc_int==95||(asc_int> 96&&asc_int <123)||(asc_int> 47&&asc_int <58)))
{
System.out.print( "存在不合法字符 ");
// return;
}
}
}
}
}
------解决方案--------------------
我感觉还是正则比较简单,而且实惠
------解决方案--------------------
去看看正则表达式吧
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
需要调用方法将得到的string与正则表达式匹配
------解决方案--------------------
正则是正解