常用正则表达式
发布时间:2020-12-13 21:57:26 所属栏目:百科 来源:网络整理
导读:常用正则表达式 例子 package zhengze; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; public class IPvalid { /** * @param args */ public st
常用正则表达式 例子 package zhengze; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; public class IPvalid { /** * @param args */ public static void main(String[] args) { IPvalid("12.133.2.0"); EmailValid("lf127@163.com"); CardValid("12345678901242X"); PhoneValid("033-2234567"); HandsetValid("13445672341"); URLValid("www.sina.com"); CharReplace("asdf|wesfd-a23|asdfasdf|asdfasdf90l;"); LowerToUpperReplace("java JaVa jaVA asdffjava JAVa sdf asdf sdf"); String aa="asdfASDFwerfasdASDFQWER234234456RDFGS"; Print(aa.toUpperCase()); //转大写 Print(aa.toLowerCase()); //转小写 } /** * 验证IP地址 在这里也有问题,如果是以O 开头的IP 应该是错误的,但我却想不到要怎么做,呵,如果有哪位知道请告诉我,谢谢! * * @param ip */ public static void IPvalid(String ip) { //Pattern p = Pattern // .compile("^(([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5])).){0,3}([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))$"); Pattern p=Pattern.compile("((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)"); Matcher m = p.matcher(ip); Print(m.matches() ? "IP 地址正确" : "IP 地址不正确"); } /** * Email 验证 * * @param email */ public static void EmailValid(String email) { Pattern p = Pattern.compile("(.+)@(.+).(com|cn|org|net)"); Matcher m = p.matcher(email); Print(m.matches() ? "Email正确" : "Email不正确"); } /** * 身份证 验证 * * @param CardID */ public static void CardValid(String CardID) { Pattern p = Pattern.compile("^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]"); Matcher m = p.matcher(CardID); Print(m.matches() ? "身份证正确" : "身份证不正确"); } /** * 电话号码验证 * @param phone */ public static void PhoneValid(String phone) { Pattern p = Pattern.compile("^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})$"); Matcher m = p.matcher(phone); Print(m.matches() ? "电话号码正确" : "电话号码不正确"); } /** * 手机号码验证 * @param handset */ public static void HandsetValid(String handset) { Pattern p = Pattern.compile("^(((d{3}))|(d{3}-))?13[0-9]d{8}|15[890]d{8}"); Matcher m = p.matcher(handset); Print(m.matches() ? "手机号码正确" : "手机号码不正确"); SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd" + " " + "hh:mm:ss"); String datetime = tempDate.format(new java.util.Date()); Print(datetime); } /** * URL 输入正确 在这里我没有正确完成 此方法。请有哪位知道的也知道我。谢谢 * 我想做的是,既可以是http,https,www 任意开头的 * @param url */ public static void URLValid(String url) { Pattern p = Pattern.compile("(http://|https://|www|http://www).w"); Matcher m = p.matcher(url); Print(m.matches() ? "网址正确" : "网址不正确"); } /** * 将特殊字符转换 例: 将 | 转换成 _ * * @param find */ public static void CharReplace(String str) { Pattern p = Pattern.compile("|",Pattern.LITERAL); Matcher m = p.matcher(str); Print(m.replaceAll("_")); } /** * 将字符的大小写互转 * @param str */ public static void LowerToUpperReplace(String str) { Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(str); // Print(m.replaceAll("JAVA")); // 将偶数的JAVA 变大写 奇数变小写 StringBuffer buf = new StringBuffer(); int i = 0; while (m.find()) { i++; if (i % 2 == 0) { m.appendReplacement(buf,"JAVA"); } else { m.appendReplacement(buf,"java"); } } m.appendTail(buf);//添加后面的字符 Print(buf); } /** * 输出语句 * * @param str */ public static void Print(Object str) { System.out.println(str); } } 结果 电话号码正确 手机号码正确 2008-10-08 06:01:45 网址不正确 asdf_wesfd-a23_asdfasdf_asdfasdf90l; java JAVA java asdffJAVA java sdf asdf sdf ASDFASDFWERFASDASDFQWER234234456RDFGS asdfasdfwerfasdasdfqwer234234456rdfgs (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |