/****************************************** * 类描写叙述:字符串工具类 类名称:String_U * ******************************************/ public class String_U { private String_U() { } /** * 检查手机号是否合法 * * @param phoneNum * @return boolean true 为手机号合法。false为手机号不合法 */ public static boolean isMobileNum(String phoneNum) { if (TextUtils.isEmpty(phoneNum)) return false; Pattern p = Pattern .compile("((\+86|86)?((13[0-9]\d{8})|(15[0-9]\d{8})|(170\d{8})|(18[0-9]\d{8})))"); Matcher m = p.matcher(phoneNum); if (m.matches()) { return true; } else { return false; } } public static boolean isEmail(String email) { boolean tag = true; // final String pattern1 = // "^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$"; final String pattern1 = "^[\w][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$"; final Pattern pattern = Pattern.compile(pattern1); final Matcher mat = pattern.matcher(email); if (!mat.find()) { tag = false; } return tag; } /** * 设置指定位置字体颜色 * * @param color * 16进制色值 * @param text * 文字 * @param start * 设置颜色的起始位置 * @param end * 设置颜色的结束位置 * @return mSpannableString */ public static SpannableString getSpecialSpannableString(String color, String text, int start, int end) { SpannableString mSpannableString = new SpannableString(text); // 设置字体前景色 mSpannableString.setSpan( new ForegroundColorSpan(Color.parseColor(color)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return mSpannableString; } /** * 验证密码是否符合规定 * * @param password * @return boolean true为密码合法,false为密码不合法 */ public static boolean checkPassword(String password) { if (password == null || password.length() > 16 || password.length() < 6) { return false; } Pattern pattern = Pattern.compile("^[a-zA-Z0-9]{6,16}$"); Matcher invalid = pattern.matcher(password); return invalid.matches(); } /** * 字符串安全比較 * * @param lStr * 左側String * @param rStr * 右側String * @return boolean true 两字符串内容一致。false两字符串内容不一致 */ public static boolean equal(String lStr, String rStr) { if (lStr == null) { return lStr == rStr; } return lStr.equals(rStr); } /** * 计算百分比 * * @param y * @param z * @return */ public static String myPercent(int y, int z) { String percent = null;// 接受百分比的值 float baiy = y; float baiz = z; float fen = baiy / baiz; // NumberFormat nf = NumberFormat.getPercentInstance(); 凝视掉的也是一种方法 // nf.setMinimumFractionDigits( 2 ); 保留到小数点后几位 DecimalFormat df1 = new DecimalFormat("##%"); // ##.00% // 百分比格式,后面不足2位的用0补齐 // baifenbi=nf.format(fen); percent = df1.format(fen); return percent; } /*** * 切割指定文本。并在指定文本前追加实心圆圈或序号 * * @param text * 指定文本 * @param separator * 分隔符 * @param circle * 条目符号(例:“•”) * @param isAppendNum * 是否加入序号 * @return */ public static String separatorString(String text, String separator, String circle, boolean isAppendNum) { if (TextUtils.isEmpty(text)) { return ""; } StringBuffer strBuffer = new StringBuffer(); if (TextUtils.isEmpty(separator)) { // 没有分隔符 strBuffer.append(circle); strBuffer.append(text); } else { String[] strArray = text.split(separator); for (int i = 0; i < strArray.length; i++) { if (!TextUtils.isEmpty(circle)) { // 加入条目符号 strBuffer.append(circle); } if (isAppendNum) { // 加入序号 strBuffer.append((i - 1) + "、"); } strBuffer.append(strArray[i]); if (i != strArray.length - 1) { // 加入换行 strBuffer.append(" "); } } } return strBuffer.toString(); } }