/******************************************* 类描写叙述:字符串工具类 类名称: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("\n");}}}return strBuffer.toString();}}