demo1:
/** * 本类用于 处理、检查导入数据的格式 * @author Administrator * weiwenshuai 2011 09 15 */ public class CheckData { /** * 验证手机号码、电话号码是否有效 * 手机号前面加86的情况也考虑 * 新联通 *(中国联通+中国网通)手机号码开头数字 130、131、132、145、155、156、185、186 * 新移动 * (中国移动+中国铁通)手机号码开头数字 134、135、136、137、138、139、147、150、151、152、157、158、159、182、183、187、188 * 新电信 * (中国电信 <http://baike.baidu.com/view/3214.htm>+中国卫通)手机号码开头数字 133、153、189、180 * 座机: *3/4位区号(数字)+ “-” + 7/8位(数字)+ “-”+数字位数不限 *说明:“-”+数字位数不限;这段可有可无 */ public static String checkphoto(String photo){ if(null!=photo){ String reisphoto=photo.replace(",",",").replace(";",",").replace(";",",").replace(" ", ",").replace(" ",",").replace("/",",") .replace("\\", ","); String[] photo1=reisphoto.split(","); String[] photo2=new String[photo1.length]; boolean isfirst; if(null!=photo1&&photo1.length>0){ for(int i=0;i<photo1.length;i++){ isfirst=false; if(photo1[i].matches("(^[0-9]{3,4}-[0-9]{3,8}$)|^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\\d{8}$")){ photo2[i]=photo1[i]; isfirst=true; } //第二规则 “-”+数字位数不限 和手机号前面加86的情况也考虑 if(!isfirst){ if(photo1[i].matches("(^[0-9]{3,4}-[0-9]{3,8}-[0-9]{0,100}$)|^((\\+86)|(86))?(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\\d{8}$")){ photo2[i]=photo1[i]; } } } //如果两个电话 只用一个 if(photo2.length>0){ return photo2[0]; } } } return null; } public static void main(String[] args){ String[] photo =new String[]{"1523620111","15811363254 15811364216","15811364216","13011111111,15811364216","022-6232903-22","022-6232903","+8615811364216","8615811224181"}; for(int i=0;i<photo.length;i++){ System.out.println(CheckData.checkphoto(photo[i])); } } }
demo2:
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * * <p>Copyright the original author or authors. * * @author Liu Huibin * @date Aug 27, 2010 * @dateLastModified Aug 27, 2010 */ public class Test { public static void main(String[] args) { //电子邮件 String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher("[email protected]"); boolean isMatched = matcher.matches(); System.out.println(isMatched); /* 电话号码 String check = "^(13[4,5,6,7,8,9]|15[0,8,9,1,7]|188|187)\\d{8}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher("13555655606"); boolean isMatched = matcher.matches(); System.out.println(isMatched); */ } }