天天看點

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