我们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;
}
}
});
}
}