美文网首页
经常用到--》工具类

经常用到--》工具类

作者: 逆光_初见 | 来源:发表于2020-06-02 16:38 被阅读0次

publicclassCheckForAllUtils{

/**

    * 判断字符串是否为空

*/

publicstaticbooleanisNotNull(Stringstring) {

if(string!=null) {

returntrue;

}else{

returnfalse;

        }

    }

/**

    * 判断字符串是否为空和是否等于""

*/

publicstaticbooleanisNotNull2(Stringstring) {

if(string!=null&&!string.equals("")) {

returntrue;

}else{

returnfalse;

        }

    }

/*

    *  判断字符串是否为空和是否等于""和"null"

*/

publicstaticbooleanisNotNullAndOther(Stringstring,Stringstring2) {

if(string!=null&&!string.equals(string2)) {

//不为空且不与string2想等时返回true

returntrue;

}else{

returnfalse;

        }

    }

/**

    * 字符串为数字

*/

publicstaticbooleanisNumber(Stringnumber) {

if(TextUtils.isEmpty(number))

returnfalse;

else{

Patternp=Pattern.compile("[0-9]*");

Matcherm=p.matcher(number);

if(m.matches())

returntrue;

else

returnfalse;

        }

    }

/**

    * 带小数的数字

*/

publicstaticbooleanisDecimal(Stringnumber) {

if(TextUtils.isEmpty(number))

returnfalse;

else{

Patternp=Pattern.compile("^[-+]?[0-9]+(\\.[0-9]+)?$");

Matcherm=p.matcher(number);

if(m.matches())

returntrue;

else

returnfalse;

        }

    }

/**

    * 字符串为字母

*/

publicstaticbooleanisLetter(Stringletter) {

if(TextUtils.isEmpty(letter))

returnfalse;

else

returnletter.matches("^[a-zA-Z]*");

    }

/**

    * 字符串是否含有汉字汉字

*/

publicstaticbooleanhasChinese(Stringstr) {

if(TextUtils.isEmpty(str))

returnfalse;

else{

StringregEx="[\u4e00-\u9fa5]";

Patternp=Pattern.compile(regEx);

Matcherm=p.matcher(str);

if(m.find())

returntrue;

else

returnfalse;

        }

    }

/**

    * 判断数字是奇数还是偶数

*/

publicstaticintisEvenNumbers(Stringeven) {

if(!TextUtils.isEmpty(even)&&isNumber(even)) {

inti=Integer.parseInt(even);

if(i%2==0) {

//偶数

return2;

}else{

//奇数

return1;

            }

}else{

//不是奇数也不是偶数

return0;

        }

    }

/**

    * 判断字符串是否字母开头

*/

publicstaticbooleanisLetterBegin(Strings) {

if(TextUtils.isEmpty(s))

returnfalse;

else{

charc=s.charAt(0);

inti=(int) c;

if((i>=65&&i<=90)||(i>=97&&i<=122)) {

returntrue;

}else{

returnfalse;

            }

        }

    }

/**

    * 判断字符串是否以指定内容开头

*/

publicstaticbooleanstartWithMytext(Stringmytext,Stringbegin) {

if(TextUtils.isEmpty(mytext)&&TextUtils.isEmpty(begin))

returnfalse;

else{

if(mytext.startsWith(begin))

returntrue;

else

returnfalse;

        }

    }

/**

    * 判断字符串是否以指定内容结尾

*/

publicstaticbooleanendWithMytext(Stringmytext,Stringend) {

if(TextUtils.isEmpty(mytext)&&TextUtils.isEmpty(end))

returnfalse;

else{

if(mytext.endsWith(end))

returntrue;

else

returnfalse;

        }

    }

/**

    * 判断字符串中是否含有指定内容

*/

publicstaticbooleanhasMytext(Stringstring,Stringmytext) {

if(TextUtils.isEmpty(string)&&TextUtils.isEmpty(mytext))

returnfalse;

else{

if(string.contains(mytext))

returntrue;

else

returnfalse;

        }

    }

/**

    * 验证是否是手机格式

*/

publicstaticbooleanisMobileNO(Stringmobiles) {

/*

        移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188

    联通:130、131、132、152、155、156、185、186

    电信:133、153、180、189、(1349卫通)

    新增:17开头的电话号码,如170、177

    总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9

*/

StringtelRegex="[1][3578]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。

if(TextUtils.isEmpty(mobiles))returnfalse;

elsereturnmobiles.matches(telRegex);

    }

/**

    * 验证是否是邮箱格式格式

*/

publicstaticbooleanisEmailAdd(Stringemail) {

StringemailRegex="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";

if(TextUtils.isEmpty(email))

returnfalse;

else

returnemail.matches(emailRegex);

    }

/**

    * 1,判断是否有网络连接

    *

*@paramcontext

*@return

*/

publicstaticbooleanisNetworkConnected(Contextcontext) {

if(context!=null) {

ConnectivityManagermConnectivityManager=(ConnectivityManager)

                    context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfomNetworkInfo=mConnectivityManager

                    .getActiveNetworkInfo();

if(mNetworkInfo!=null) {

returnmNetworkInfo.isAvailable();

            }

        }

returnfalse;

    }

/**

    * 2.判断WIFI网络是否可用

    *

*@paramcontext

*@return

*/

publicstaticbooleanisWifiConnected(Contextcontext) {

if(context!=null) {

ConnectivityManagermConnectivityManager=(ConnectivityManager)

                    context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfomWiFiNetworkInfo=mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if(mWiFiNetworkInfo!=null) {

returnmWiFiNetworkInfo.isAvailable();

            }

        }

returnfalse;

    }

/**

    * 3.判断MOBILE网络是否可用

    *

*@paramcontext

*@return

*/

publicstaticbooleanisMobileConnected(Contextcontext) {

if(context!=null) {

ConnectivityManagermConnectivityManager=(ConnectivityManager)

                    context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfomMobileNetworkInfo=mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if(mMobileNetworkInfo!=null) {

returnmMobileNetworkInfo.isAvailable();

            }

        }

returnfalse;

    }

/**

    * 判断网络类型

    *

*@paramcontext

*@return-1:没有网络  1:WIFI网络2:wap网络3:net网络

*/

publicstaticintgetNetType(Contextcontext) {

intnetType=-1;

ConnectivityManagerconnMgr=(ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfonetworkInfo=connMgr.getActiveNetworkInfo();

if(networkInfo==null) {

returnnetType;

        }

intnType=networkInfo.getType();

if(nType==ConnectivityManager.TYPE_MOBILE) {

if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")) {

netType=3;

}else{

netType=2;

            }

}elseif(nType==ConnectivityManager.TYPE_WIFI) {

netType=1;

        }

returnnetType;

    }

/**

    * 判断当前应用程序处于前台还是后台

*/

publicstaticbooleanisBackground(Contextcontext) {

ActivityManageractivityManager=(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List

for(ActivityManager.RunningAppProcessInfoappProcess:appProcesses) {

if(appProcess.processName.equals(context.getPackageName())) {

if(appProcess.importance==ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {

//后台

returntrue;

}else{

//前台

returnfalse;

                }

            }

        }

returnfalse;

    }

/*用来判断服务是否运行.

    * @param context

    * @param className 判断的服务名字

    * @return true 在运行 false 不在运行

*/

publicstaticbooleanisServiceRunning(ContextmContext,StringclassName) {

booleanisRunning=false;

ActivityManageractivityManager=(ActivityManager)

mContext.getSystemService(Context.ACTIVITY_SERVICE);

List

=activityManager.getRunningServices(30);

if(!(serviceList.size()>0)) {

returnfalse;

        }

for(inti=0; i<serviceList.size(); i++) {

if(serviceList.get(i).service.getClassName().equals(className)==true) {

isRunning=true;

break;

            }

        }

returnisRunning;

    }

/**

    * 判断apk是否安装

*/

publicstaticbooleancheckApkExist(Contextcontext,StringpackageName) {

if(packageName==null||"".equals(packageName))

returnfalse;

try{

ApplicationInfoinfo=context.getPackageManager()

                    .getApplicationInfo(packageName,

PackageManager.GET_UNINSTALLED_PACKAGES);

returntrue;

}catch(PackageManager.NameNotFoundExceptione) {

returnfalse;

        }

    }

/**

    * 判断sd卡是否可以用

*/

publicstaticbooleansdCardExists() {

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

//sd card 可用

returntrue;

}else{

//当前不可用

returnfalse;

        }

    }

/**

    * 判断一个文件是否存在

*/

publicstaticbooleanisFileExists(Stringpath) {

try{

Filef=newFile(path);

if(!f.exists()) {

returnfalse;

            }

}catch(Exceptione) {

returnfalse;

        }

returntrue;

    }

//身份证号码验证:start

/**

    * 功能:身份证的有效验证

    *

*@paramIDStr 身份证号

*@return有效:返回"" 无效:返回String信息

*@throwsParseException

*/

publicstaticStringIDCardValidate(StringIDStr)throwsParseException{

StringerrorInfo="";//记录错误信息

String[]ValCodeArr={"1","0","x","9","8","7","6","5","4",

"3","2"};

String[]Wi={"7","9","10","5","8","4","2","1","6","3","7",

"9","10","5","8","4","2"};

StringAi="";

//================ 号码的长度 15位或18位 ================

if(IDStr.length()!=15&&IDStr.length()!=18) {

errorInfo="身份证号码长度应该为15位或18位。";

returnerrorInfo;

        }

//=======================(end)========================

//================ 数字 除最后以为都为数字 ================

if(IDStr.length()==18) {

Ai=IDStr.substring(0,17);

}elseif(IDStr.length()==15) {

Ai=IDStr.substring(0,6)+"19"+IDStr.substring(6,15);

        }

if(isNumeric(Ai)==false) {

errorInfo="身份证15位号码都应为数字 ; 18位号码除最后一位外,都应为数字。";

returnerrorInfo;

        }

//=======================(end)========================

//================ 出生年月是否有效 ================

StringstrYear=Ai.substring(6,10);//年份

StringstrMonth=Ai.substring(10,12);//月份

StringstrDay=Ai.substring(12,14);//月份

if(isDataFormat(strYear+"-"+strMonth+"-"+strDay)==false) {

errorInfo="身份证生日无效。";

returnerrorInfo;

        }

GregorianCalendargc=newGregorianCalendar();

SimpleDateFormats=newSimpleDateFormat("yyyy-MM-dd");

if((gc.get(Calendar.YEAR)-Integer.parseInt(strYear))>150

||(gc.getTime().getTime()-s.parse(

strYear+"-"+strMonth+"-"+strDay).getTime())<0) {

errorInfo="身份证生日不在有效范围。";

returnerrorInfo;

        }

if(Integer.parseInt(strMonth)>12||Integer.parseInt(strMonth)==0) {

errorInfo="身份证月份无效";

returnerrorInfo;

        }

if(Integer.parseInt(strDay)>31||Integer.parseInt(strDay)==0) {

errorInfo="身份证日期无效";

returnerrorInfo;

        }

//=====================(end)=====================

//================ 地区码时候有效 ================

Hashtableh=GetAreaCode();

if(h.get(Ai.substring(0,2))==null) {

errorInfo="身份证地区编码错误。";

returnerrorInfo;

        }

//==============================================

//================ 判断最后一位的值 ================

intTotalmulAiWi=0;

for(inti=0; i<17; i++) {

TotalmulAiWi=TotalmulAiWi

+Integer.parseInt(String.valueOf(Ai.charAt(i)))

*Integer.parseInt(Wi[i]);

        }

intmodValue=TotalmulAiWi%11;

StringstrVerifyCode=ValCodeArr[modValue];

Ai=Ai+strVerifyCode;

if(IDStr.length()==18) {

if(Ai.equals(IDStr)==false) {

errorInfo="身份证无效,不是合法的身份证号码";

returnerrorInfo;

            }

}else{

return"";

        }

//=====================(end)=====================

return"";

    }

/**

    * 功能:判断字符串是否为数字

    *

*@paramstr

*@return

*/

privatestaticbooleanisNumeric(Stringstr) {

Patternpattern=Pattern.compile("[0-9]*");

MatcherisNum=pattern.matcher(str);

if(isNum.matches()) {

returntrue;

}else{

returnfalse;

        }

    }

/**

    * 功能:设置地区编码

    *

*@returnHashtable 对象

*/

privatestaticHashtableGetAreaCode() {

Hashtablehashtable=newHashtable();

hashtable.put("11","北京");

hashtable.put("12","天津");

hashtable.put("13","河北");

hashtable.put("14","山西");

hashtable.put("15","内蒙古");

hashtable.put("21","辽宁");

hashtable.put("22","吉林");

hashtable.put("23","黑龙江");

hashtable.put("31","上海");

hashtable.put("32","江苏");

hashtable.put("33","浙江");

hashtable.put("34","安徽");

hashtable.put("35","福建");

hashtable.put("36","江西");

hashtable.put("37","山东");

hashtable.put("41","河南");

hashtable.put("42","湖北");

hashtable.put("43","湖南");

hashtable.put("44","广东");

hashtable.put("45","广西");

hashtable.put("46","海南");

hashtable.put("50","重庆");

hashtable.put("51","四川");

hashtable.put("52","贵州");

hashtable.put("53","云南");

hashtable.put("54","西藏");

hashtable.put("61","陕西");

hashtable.put("62","甘肃");

hashtable.put("63","青海");

hashtable.put("64","宁夏");

hashtable.put("65","新疆");

hashtable.put("71","台湾");

hashtable.put("81","香港");

hashtable.put("82","澳门");

hashtable.put("91","国外");

returnhashtable;

    }

/**

    * 验证日期字符串是否是YYYY-MM-DD格式

    *

*@paramstr

*@return

*/

publicstaticbooleanisDataFormat(Stringstr) {

booleanflag=false;

//String regxStr="[1-9][0-9]{3}-[0-1][0-2]-((0[1-9])|([12][0-9])|(3[01]))";

StringregxStr="^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$";

Patternpattern1=Pattern.compile(regxStr);

MatcherisNo=pattern1.matcher(str);

if(isNo.matches()) {

flag=true;

        }

returnflag;

    }

//身份证号码验证:end

}

demo地址:https://github.com/BestSingerInSiHui/CheckAllUtilsDemo

相关文章

网友评论

      本文标题:经常用到--》工具类

      本文链接:https://www.haomeiwen.com/subject/ptzuzhtx.html