java 正则表达式练习 Jian YE 收录于 Java2019-04-18 2023-07-07 约 449 字 预计阅读 1 分钟 - 次阅读 目录 邮箱电话身份证警告本文最后更新于 2023-07-07,文中内容可能已过时。邮箱 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo { public static void main(String[] args) { // Pattern 类 正则表达式的编译表示。 Pattern pattern = Pattern.compile("^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+$"); String[] emails = {"admin@lruihao.cn", "lruihao.cn"}; for (String email : emails) { //Matcher 通过解释 Pattern 对字符序列执行匹配操作的引擎 Matcher matcher = pattern.matcher(email); System.out.println(email + "匹配结果:" + matcher.matches()); } } }1 2 admin@lruihao.cn 匹配结果:true lruihao.cn 匹配结果:false电话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package base; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { public static void main(String[] args) { Pattern patter=Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); Scanner sc=new Scanner(System.in); String telnum=sc.nextLine(); sc.close(); Matcher matcher=patter.matcher(telnum); System.out.println(telnum+"匹配结果: "+matcher.matches()); } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 /** * 获取当前的 httpSession * @return */ public static HttpSession getSession() { return getRequest().getSession(); } /** * 手机号验证 * @param str * @return 验证通过返回 true */ public static boolean isMobile(final String str) { Pattern p = null; Matcher m = null; boolean b = false; p = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); // 验证手机号 m = p.matcher(str); b = m.matches(); return b; } /** * 电话号码验证 * @param str * @return 验证通过返回 true */ public static boolean isPhone(final String str) { Pattern p1 = null, p2 = null; Matcher m = null; boolean b = false; p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的 p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的 if (str.length() > 9) { m = p1.matcher(str); b = m.matches(); } else { m = p2.matcher(str); b = m.matches(); } return b; }身份证1 2 3 4 /* 身份证正则表达式 16 或 18 */ public static final String IDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})" + "(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}" + "[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";Buy me a coffee~ 赞赏支付宝微信Please enable JavaScript to view the comments powered by giscus.