浏览 3802 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-24
最后修改:2011-03-24
package com.qingbyqing.job; import java.util.regex.Matcher; import java.util.regex.Pattern; public class FormValid { public static void w(Object o) { System.out.println(o); } /** * 邮箱验证: */ public static boolean isValidEmail(String email) { String regEmail = "^(?:\\w+\\.{1})*\\w+@(\\w+\\.)*\\w+$"; Pattern pat = Pattern.compile(regEmail); Matcher mat = pat.matcher(email); if (mat.find()) { w("合法邮箱"); return true; } w("邮箱格式错误!"); return false; } /** * ip 地址的验证 * */ public static boolean isValidIp(String strIp) { String reIp = "\\b((\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(\\b|\\.)){4}"; Pattern com = Pattern.compile(reIp); Matcher mat = com.matcher(strIp); if (mat.find()) { w("IP地址格式正确"); return true; } w("Ip地址格式错误"); return false; } /** * 验证日期 * */ public static boolean isValidDate(String sDate) { String reDate = "(?:[1-9]|0[1-9]|[12]\\d|3[0-1])(\\/|\\-)(?:[1-9]|0[1-9]|1[0-2])(\\/|\\-)(?:19|20\\d\\d)"; Pattern com = Pattern.compile(reDate); Matcher mat = com.matcher(sDate); if (mat.find()) { w("日期格式正确"); return true; } w("日期格式错误"); return false; } /** * 验证信用卡号 * */ public static boolean isValidCard(String sCard) { String reCard = "^(4\\d{12}(?:\\d{3})?)$"; Pattern com = Pattern.compile(reCard); Matcher mat = com.matcher(sCard); if (mat.find()) { w(reCard); w("格式正确"); // 判断是否合法 boolean luhn = FormValid.isLuhn(sCard); if (luhn) { w("卡号是合法的"); return true; } else { w("卡号不合法"); return false; } } w("格式不正确"); return false; } /** * luhn算法 * */ public static boolean isLuhn(String strNum){ int oddSum=0; int evenSum=0; boolean isOdd=true; for (int i=strNum.length()-1;i>=0;i--){ char cNum=strNum.charAt(i); int num=Integer.parseInt(cNum+""); System.out.print("第"+i+"个"+"是"+"\t"+num+"\n"); if(isOdd){ oddSum+=num; }else{ num=num*2; if(num>9){ num=num%10+1; } evenSum=evenSum+num; } isOdd=!isOdd; } return ((evenSum+oddSum)%10==0); } /** * 测试 * */ public static void main(String args[]) { String email = "qing.qingbyqing@gmail.vip.com";//邮箱测试 FormValid.isValidEmail(email); String strIp="1.10.111.255";//IP地址测试 FormValid.isValidIp(strIp); String sDate="03/03/1911"; FormValid.isValidDate(sDate);//日期测试 String strNum = "4432123456788881"; w(FormValid.isValidCard(strNum));//信用卡测试 } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |