1. 程式人生 > >驗證 手機號碼 固話號碼 郵箱和特殊符號

驗證 手機號碼 固話號碼 郵箱和特殊符號

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.text.TextUtils;

public class MobileNo {

	/**
	 * 驗證手機格式
	 */
	public static boolean isMobileNO(String mobiles) {
		/*
		 * 移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
		 * 聯通:130、131、132、152、155、156、185、186 電信:133、153、180、189、(1349衛通)
		 * 總結起來就是第一位必定為1,第二位必定為3或5或8,其他位置的可以為0-9
		 */
		String telRegex = "[1][358]\\d{9}";// "[1]"代表第1位為數字1,"[358]"代表第二位可以為3、5、8中的一個,"\\d{9}"代表後面是可以是0~9的數字,有9位。
		if (TextUtils.isEmpty(mobiles))
			return false;
		else
			return mobiles.matches(telRegex);
	}

	/**
	 * 驗證特殊符號
	 * */
	public static boolean isSymbol(String symbol) {
		String regex = "[A-Za-z0-9\u4e00-\u9fa5;;]+";
		if (TextUtils.isEmpty(symbol))
			return false;
		else
			return symbol.matches(regex);
	}

	public static boolean isNumber(String str) {

		String regex = "[0-9]*";
		if (TextUtils.isEmpty(str))
			return false;
		else
			return str.matches(regex);
	}

	/**
	 * 判斷固定電話格式
	 * */
	public static boolean isTelephone(String tel) {
		String str = "[0]{1}[0-9]{2,3}-[0-9]{7,8}$";
		Pattern p = Pattern.compile(str);
		Matcher m = p.matcher(tel);

		return m.matches();
	}
	/**
	 * 判斷郵箱格式
	 * */
	public static boolean isEmail(String email) {
		String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
		Pattern p = Pattern.compile(str);
		Matcher m = p.matcher(email);
		
		return m.matches();
	}

}