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);
*/
}
}
标签:regex,Java,String,邮箱地址,matcher,replace,电话号码,Pattern,public From: https://blog.51cto.com/u_16255870/7534782