1. 程式人生 > >android 輸入框 手機號 ,密碼 郵箱 ,網路,圖片格式等 判斷 工具類 封裝簡單實現

android 輸入框 手機號 ,密碼 郵箱 ,網路,圖片格式等 判斷 工具類 封裝簡單實現

我們android 開發人員都會與到 登入註冊,郵箱驗證等問題 ,我們需要if判斷 ,簡單邏輯 比較好些,隨著產品的需求,格式越來越多,邏輯越來越複雜,下面 給大家推薦 一下自己封裝的一個工具類 裡面對應的正的表示式等多個簡單實用

首先是一個工具類  

public class Util {

/*    public static BookCommentAdapter upd;

    public static BookDetailAdapter bda;*/
    public static Map<String, Long> map;

    public static String ChangeCode(String str) {
        String utf8string = null;
        try {
            utf8string = URLEncoder.encode(URLEncoder.encode(str, "UTF-8"),
                    "UTF-8");
           // utf8string = URLEncoder.encode(str, "UTF-8");

            return utf8string;
        } catch (UnsupportedEncodingException e2) {
            e2.printStackTrace();
        }
        return utf8string;
    }

    public static boolean mobileMumVerify(String phoneNum) {
        //String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147)|199|198|166)\\d{8}$";
        String regExp = "^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147)|199|198|166)\\d{8}$";
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(phoneNum);
        return m.matches();
    }

    public static boolean isMobileNO(String mobiles) {
        String telRegex = "13\\d{9}|14[57]\\d{8}|15[012356789]\\d{8}|18[012356789]\\d{8}|17[01678]\\d{8}";
        if (TextUtils.isEmpty(mobiles)) return false;
        else return mobiles.matches(telRegex);
    }

    public static boolean passWordVerify(String pass) {
        Pattern p = Pattern.compile("^[A-Za-z0-9]{6,12}$");
        //Pattern p = Pattern.compile("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,12}$");
        return p.matcher(pass).matches();
    }

    public static boolean mailAddressVerify(String mailAddress) {
        String emailExp = "^([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(emailExp);
        return p.matcher(mailAddress).matches();
    }

    public static int dpToPx(Context context, int dp) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,
                context.getResources().getDisplayMetrics());
    }

    public static int px2sp(Context context, float pxValue) {
        final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / fontScale + 0.5f);
    }

    public static String timeFormat(long time) {
        return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).format(time);
    }

    public static String timeFormatForS(long time) {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA)
                .format(time);
    }

    public static String getExt(String url) {
        if (TextUtils.isEmpty(url))
            return null;
        return url.substring(url.lastIndexOf("."), url.length());
    }

    private static long exitTime = 0;

/*    public static void ExitApp(Context c) {
        if (System.currentTimeMillis() - exitTime > 2000) {
            showToast(c, "再按一次返回鍵退出");
            exitTime = System.currentTimeMillis();
        } else {
            SystemExit.exitSystem();
        }
    }*/

    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivity = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity == null) {
            return false;
        } else {
            NetworkInfo[] info = connectivity.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getState() == NetworkInfo.State.CONNECTED
                            || info[i].getState() == NetworkInfo.State.CONNECTING) {
                        return true;
                    }
                }
            }
        }
        return false;
    }





    public static Uri getOutputMediaFileUri(Context c) {
        return Uri.fromFile(getOutputMediaFile(c));
    }




    public static File getOutputMediaFile(Context c) {
        // Create a media file name
        // String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
        // Locale.CHINA)
        // .format(new Date());
        File mediaFile;
        mediaFile = new File(
                c.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
                        + File.separator + "IMG_" + "temp" + ".png");

        return mediaFile;
    }


}
public class TextsActivity extends AppCompatActivity {
Button btn;
EditText phone,psw,email;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_texts);
        btn= findViewById(R.id.btn);
        phone=findViewById(R.id.phone);
        psw=findViewById(R.id.psw);
        email=findViewById(R.id.email);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String name = phone.getText().toString().trim();
                String pass = psw.getText().toString().trim();
                String yx = email.getText().toString().trim();


                if(TextUtils.isEmpty(name))
                {
                    Toast.makeText(TextsActivity.this,"手機號不能為空",Toast.LENGTH_LONG).show();
                    return;
                }
                if(TextUtils.isEmpty(pass))
                {
                    Toast.makeText(TextsActivity.this,"密碼為空",Toast.LENGTH_LONG).show();
                    return;
                }
                if(!Util.mobileMumVerify(name))
                {
                    Toast.makeText(TextsActivity.this,"手機格式不正確",Toast.LENGTH_LONG).show();
                    return;
                }

                if (!Util.passWordVerify(pass)) {

                    Toast.makeText(TextsActivity.this,"密碼格式不符,6-12位數字或者字母",Toast.LENGTH_LONG).show();
                    return;
                }
                if (!Util.mailAddressVerify(yx)) {
                    Toast.makeText(TextsActivity.this,"郵箱格式不正確",Toast.LENGTH_LONG).show();
                    return;
                }


            }
        });


    }

}