//工具类 public class MobileCheckUtil { /** * 手机号正则表达式 * @param str * @return * @throws PatternSyntaxException */ public static boolean isChinaPhoneLegal(String str) throws PatternSyntaxException { String PHONE_NUMBER_REG = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$"; Pattern p = Pattern.compile(PHONE_NUMBER_REG); Matcher m = p.matcher(str); return m.matches(); } /** * 手机号用****号隐藏中间数字 * * @param phone * @return */ public static String settingphone(String phone) { String phone_s = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); return phone_s; } /** * 只能输入汉字 */ public static void onlyInputChinese(EditText editText) { //只能输入汉字 不能输入特殊符号 英文 InputFilter filter = new InputFilter() { public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { String speChat = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; Pattern pattern = Pattern.compile(speChat); Matcher matcher = pattern.matcher(source.toString()); for (int i = start; i < end; i++) { if (!isChinese(source.charAt(i)) || matcher.find()) { return ""; } } return null; } }; editText.setFilters(new InputFilter[]{filter}); } /** * 只能输入汉字 * * @param c * @return * @throws PatternSyntaxException */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } }
手机号正则表达式及输入的内容只能输入汉字
最新推荐文章于 2023-07-14 22:51:24 发布