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

经常用到--》工具类

作者: 逆光_初见 | 来源:发表于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