ip,email,银行卡号匹配

来源:互联网 发布:桃源网络硬盘5.8sql版 编辑:程序博客网 时间:2024/06/12 01:40
import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Created by admin on 2015/8/8. */public class RegularUtil {    public static boolean isIP(String ip) {        Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");        Matcher matcher = pattern.matcher(ip);        return matcher.matches();    }    public static boolean isEmail(String email) {        //Pattern pattern = Pattern.compile("^([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 pattern = Pattern.compile("^([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})(\\]?)$");        Matcher matcher = pattern.matcher(email);        return matcher.matches();    }    public static boolean isBankCard(String cardId){        char bit = getBankCardCheckCode(cardId.substring(0, cardId.length() - 1));        return cardId.charAt(cardId.length() - 1) == bit;    }    /**     * 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位     * @param nonCheckCodeCardId     * @return     */    private static char getBankCardCheckCode(String nonCheckCodeCardId) {        if(nonCheckCodeCardId == null || nonCheckCodeCardId.trim().length() == 0                || !nonCheckCodeCardId.matches("^[0-9]*$")) {//或者"\\d+"            throw new IllegalArgumentException("Bank card code must be number!");        }        char[] chs = nonCheckCodeCardId.trim().toCharArray();        int luhmSum = 0;        for(int i = chs.length - 1, j = 0; i >= 0; i--, j++) {            int k = chs[i] - '0';            if(j % 2 == 0) {                k *= 2;                k = k / 10 + k % 10;            }            luhmSum += k;        }        return (luhmSum % 10 == 0) ? '0' : (char)((10 - luhmSum % 10) + '0');    }}
0 0
原创粉丝点击