天天看点

Java验证邮箱和手机号码正则表达式

Java验证邮箱和手机号码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
           
/**邮箱正则表达式*/
public final static String emailFormat = "<span style="color:#ff0000;">\\w{2,15}[@][a-z0-9]{3,}[.]\\p{Lower}{2,}</span>";
/**电话号码正则表达式*/
public final static String telFormat ="<span style="color:#ff0000;">^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$</span>";
           
// 判断手机格式是否正确
public static boolean isMobileNO(String mobiles) {
    Pattern p = Pattern.compile(telFormat);
    Matcher m = p.matcher(mobiles);

    return m.matches();
}

// 判断email格式是否正确
public static boolean isEmail(String email) {
    Pattern p = Pattern.compile(emailFormat);
    Matcher m = p.matcher(email);

    return m.matches();
}

// 判断是否全是数字
public static boolean isNumeric(String str) {
    Pattern pattern = Pattern.compile("[0-9]*");
    Matcher isNum = pattern.matcher(str);

    return isNum.matches();
}
           

\w :与任何单词字符匹配,包括下划线。 

[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。

根据实际开发于2009年9月7日最新统计:

 中国电信发布中国3G号码段:中国联通185,186;中国移动188,187;中国电信189,180共6个号段。

 3G业务专属的180-189号段已基本分配给各运营商使用, 其中180、189分配给中国电信,187、188归中国移动使用,185、186属于新联通。

 中国移动拥有号码段:139、138、137、136、135、134、159、158、157(3G)、152、151、150、188(3G)、187(3G);14个号段

 中国联通拥有号码段:130、131、132、155、156(3G)、186(3G)、185(3G);6个号段

 中国电信拥有号码段:133、153、189(3G)、180(3G);4个号码段

 移动:

     2G号段(GSM网络)有139,138,137,136,135,134(0-8),159,158,152,151,150

     3G号段(TD-SCDMA网络)有157,188,187

     147是移动TD上网卡专用号段.

 联通:

     2G号段(GSM网络)有130,131,132,155,156

     3G号段(WCDMA网络)有186,185

 电信:

     2G号段(CDMA网络)有133,153

     3G号段(CDMA网络)有189,180