android 輸入框 手機號 ,密碼 郵箱 ,網路,圖片格式等 判斷 工具類 封裝簡單實現
阿新 • • 發佈:2018-12-18
我們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; } } }); } }