edit输入框内容格式判断等各种判断工具

来源:互联网 发布:餐饮订餐软件 编辑:程序博客网 时间:2024/06/05 00:08

public class Tools {

private static Context context;/**  * 根据手机的分辨率从 dp 的单位 转成为 px(像素)  */  public static int dip2px(Context context, float dpValue) {      final float scale = context.getResources().getDisplayMetrics().density;      return (int) (dpValue * scale + 0.5f);  }  /**  * 根据手机的分辨率从 px(像素) 的单位 转成为 dp  */  public static int px2dip(Context context, float pxValue) {      final float scale = context.getResources().getDisplayMetrics().density;      return (int) (pxValue / scale + 0.5f);  }   /** * 保留小数点后两位 * @param days 租赁的天数 * @param money 价格 * @return */public static String getTwoDecimal(int days ,double money) {    DecimalFormat df = new DecimalFormat("#####0.00");    return df.format(days*money);}/** * 获取运行在前台的activity * @param context * @return */public static Activity getFrontActivity(Context context) {    ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);     List<RunningTaskInfo> cn = am.getRunningTasks(1);     RunningTaskInfo taskInfo = cn.get(0);     ComponentName name = taskInfo.topActivity;     Activity foregroundActivity;    try {        foregroundActivity = (Activity) (Class.forName(name.getClassName()).newInstance());        return foregroundActivity;     } catch (Exception e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return null; }/** * 判断某个activity是否运行在前台 true为运行在前台 * @param context * @param className * @return */public static boolean activityManager(Context context, String className) {     ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);       List<RunningTaskInfo> list = am.getRunningTasks(1);       if (list != null && list.size() > 0) {          ComponentName cpn = list.get(0).topActivity;          if (className.equals(cpn.getClassName())) {             return true;          }       }    return false;  }/** * 判断程序是否在后台运行 * @param context * @return */public static boolean isApplicationBroughtToBackground(Context context) {    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    List<RunningTaskInfo> tasks = am.getRunningTasks(1);    if (!tasks.isEmpty()) {        ComponentName topActivity = tasks.get(0).topActivity;        if (!topActivity.getPackageName().equals(context.getPackageName())) {            return true;        }    }    return false;}/** * 输入框检测方法 *  * @param s * @return */public static boolean editTextChecker(String s) {    Pattern p = Pattern.compile("\\w*");    Matcher m = p.matcher(s);    return m.matches();}/** * 实时监控EditText中的特殊字符 * @param context * @param editText */public static void verification_editText(Context context1 ,final EditText editText) {    context = context1;    editText.addTextChangedListener(new TextWatcher() {        @Override        public void onTextChanged(CharSequence s, int start, int before, int count) {            String editable = editText.getText().toString();            //只能输入字母,数字和汉字            String regEx = "[^a-zA-Z0-9\u4E00-\u9FA5_]";             Pattern p = Pattern.compile(regEx);            Matcher m = p.matcher(editable.toString());            String str = m.replaceAll("").trim();            if(!editable.equals(str)){                editText.setText(str);                editText.setSelection(str.length()); //光标置后            }        }        @Override        public void beforeTextChanged(CharSequence s, int start, int count, int after) {        }        @Override        public void afterTextChanged(Editable s) {        }    });}/** * 判断是不是纯数字 * @param pwd * @return */public static boolean numType(String pwd) {    boolean s = true;    for(int i = 0;i<pwd.length();i++){        if (!Character.isDigit(pwd.charAt(i))) {            s = false;        }    }    return s;}/** * 判断密码是否为数字和字母 * @param pwd * @return */public static boolean pwdType(String pwd) {    boolean digit = false;    boolean letter = false;    int p = pwd.length();    for(int i=0;i<p;i++){        if (Character.isDigit(pwd.charAt(i))) {            digit = true;        } else if (Character.isLetter(pwd.charAt(i))) {            letter = true;        }    }    if (digit && letter) {        return true;    } else {        return false;    }}/** * 关闭软键盘 * @param activity */public static void hideSoftInput(Activity activity) {    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);    if(imm.isActive() && activity.getCurrentFocus() != null){        imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);    }}/** * 切换后将EditText光标置于末尾 * @param et */public static void tailCursor(EditText et) {    CharSequence charSequence = et.getText();    if (charSequence instanceof Spannable) {        Spannable spanText = (Spannable) charSequence;        Selection.setSelection(spanText, charSequence.length());    }}/** * 正则表达式 判断邮箱格式是否正确 * @param email * @return */public static boolean isEmail(String email) {    String str = "^([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 p = Pattern.compile(str);    Matcher m = p.matcher(email);    return m.matches();}/** * 判断手机格式是否正确 * @param mobiles * @return */public static boolean isphone(String mobiles) {    Pattern p = Pattern.compile("^((13[0-9])|(14[5])|(15[^4,\\D])|(17[0-9])|(18[0-9]))\\d{8}$");    Matcher m = p.matcher(mobiles);    return m.matches();}/** * //只能输入字母,数字和汉字 * @param str * @return */public static String stringFilter(String str) {    String regEx = "[^a-zA-Z0-9\u4E00-\u9FA5_]";     Pattern p = Pattern.compile(regEx);    Matcher m = p.matcher(str);    return m.replaceAll("").trim(); }

}