驗證 手機號碼 固話號碼 郵箱和特殊符號
阿新 • • 發佈:2019-02-10
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(); } }