package cn.jfinalbbs.utils; import com.jfinal.kit.StrKit; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by liuyang on 15/4/2. */ public class StrUtil extends StrKit { static final char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; static final char[] digits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; static final Random rand = new Random(); static final String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; public static boolean isEmail(String email) { if(isBlank(email)) { return false; } else { Pattern pattern = Pattern.compile(check); Matcher matcher = pattern.matcher(email); return matcher.matches(); } } public static String getUUID() { String uuid = UUID.randomUUID().toString(); return uuid.replaceAll("-", ""); } public static String randomString(int length) { StringBuffer sb = new StringBuffer(); for (int loop = 0; loop < length; ++loop) { sb.append(hexDigits[rand.nextInt(hexDigits.length)]); } return sb.toString(); } public static String randomNumber(int length) { StringBuffer sb = new StringBuffer(); for (int loop = 0; loop < length; ++loop) { sb.append(digits[rand.nextInt(digits.length)]); } return sb.toString(); } public static String getEncryptionToken(String token) { for (int i = 0; i < 6; i++) { token = EncryptionUtil.encoderBase64(token.getBytes()); } return token; } public static String getDecryptToken(String encryptionToken) { for (int i = 0; i < 6; i++) { encryptionToken = EncryptionUtil.decoderBase64(encryptionToken.getBytes()); } return encryptionToken; } public static String noHtml(String s){ if(isBlank(s)) return ""; else return s.replaceAll("<[.[^<]]*>",""); } public static String transHtml(String s) { if(isBlank(s)) return ""; else return s.replace("<", "<").replace(">", ">"); } public static List<String> findAt(String str) { List<String> ats = new ArrayList<String>(); String pattern = "[@]{1}([a-zA-Z0-9_\u4E00-\u9FA5]{1,})[ $]"; Pattern regex = Pattern.compile(pattern); Matcher regexMatcher = regex.matcher(str); while (regexMatcher.find()) { ats.add(regexMatcher.group(1)); } return ats; } public static void main(String[] args) { System.out.println(findAt("[@朋也](http://jfbbs.tomoya.cn/user/1a973292fc004c29bfc0d95045c1c340)")); } }