⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utilvalidate.java

📁 短信发送
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        if (isEmpty(s)) return defaultEmptyOK;        return isIntegerInRange(s, 0, 59);    }    /** isDate returns true if string arguments year, month, and day form a valid date. */    public static boolean isDate(String year, String month, String day) {        // catch invalid years(not 2- or 4-digit) and invalid months and days.        if (!(isYear(year) && isMonth(month) && isDay(day))) return false;        int intYear = Integer.parseInt(year);        int intMonth = Integer.parseInt(month);        int intDay = Integer.parseInt(day);        // catch invalid days, except for February        if (intDay > daysInMonth[intMonth - 1]) return false;        if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;        return true;    }    /** isDate returns true if string argument date forms a valid date. */    public static boolean isDate(String date) {        if (isEmpty(date)) return defaultEmptyOK;        String month;        String day;        String year;        int dateSlash1 = date.indexOf("/");        int dateSlash2 = date.lastIndexOf("/");        if (dateSlash1 <= 0 || dateSlash1 == dateSlash2) return false;        month = date.substring(0, dateSlash1);        day = date.substring(dateSlash1 + 1, dateSlash2);        year = date.substring(dateSlash2 + 1);        return isDate(year, month, day);    }    /** isDate returns true if string argument date forms a valid date and is after today. */    public static boolean isDateAfterToday(String date) {        if (isEmpty(date)) return defaultEmptyOK;        int dateSlash1 = date.indexOf("/");        int dateSlash2 = date.lastIndexOf("/");        if (dateSlash1 <= 0) return false;        java.util.Date passed = null;        if (dateSlash1 == dateSlash2) {            // consider the day to be optional; use the first day of the following month for comparison since this is an is after test            String month = date.substring(0, dateSlash1);            String day = "28";            String year = date.substring(dateSlash1 + 1);            if (!isDate(year, month, day)) return false;            try {                int monthInt = Integer.parseInt(month);                int yearInt = Integer.parseInt(year);                Calendar calendar = Calendar.getInstance();                calendar.set(yearInt, monthInt - 1, 0, 0, 0, 0);                calendar.add(Calendar.MONTH, 1);                passed = new java.util.Date(calendar.getTime().getTime());            } catch (Exception e) {                passed = null;            }        } else {            String month = date.substring(0, dateSlash1);            String day = date.substring(dateSlash1 + 1, dateSlash2);            String year = date.substring(dateSlash2 + 1);            if (!isDate(year, month, day)) return false;            passed = UtilDateTime.toDate(month, day, year, "0", "0", "0");        }        java.util.Date now = UtilDateTime.nowDate();        if (passed != null) {            return passed.after(now);        } else {            return false;        }    }    /** isTime returns true if string arguments hour, minute, and second form a valid time. */    public static boolean isTime(String hour, String minute, String second) {        // catch invalid years(not 2- or 4-digit) and invalid months and days.        if (isHour(hour) && isMinute(minute) && isSecond(second))            return true;        else            return false;    }    /** isTime returns true if string argument time forms a valid time. */    public static boolean isTime(String time) {        if (isEmpty(time)) return defaultEmptyOK;        String hour;        String minute;        String second;        int timeColon1 = time.indexOf(":");        int timeColon2 = time.lastIndexOf(":");        if (timeColon1 <= 0) return false;        hour = time.substring(0, timeColon1);        if (timeColon1 == timeColon2) {            minute = time.substring(timeColon1 + 1);            second = "0";        } else {            minute = time.substring(timeColon1 + 1, timeColon2);            second = time.substring(timeColon2 + 1);        }        return isTime(hour, minute, second);    }    /** Checks credit card number with Luhn Mod-10 test     *     * @param stPassed a string representing a credit card number     * @return true, if the credit card number passes the Luhn Mod-10 test, false otherwise     */    public static boolean isCreditCard(String stPassed) {        if (isEmpty(stPassed)) return defaultEmptyOK;        String st = stripCharsInBag(stPassed, creditCardDelimiters);        int sum = 0;        int mul = 1;        int l = st.length();        // Encoding only works on cards with less than 19 digits        if (l > 19) return (false);        for (int i = 0; i < l; i++) {            String digit = st.substring(l - i - 1, l - i);            int tproduct = 0;            try {                tproduct = Integer.parseInt(digit, 10) * mul;            } catch (Exception e) {                Debug.logWarning(e.getMessage());                return false;            }            if (tproduct >= 10)                sum += (tproduct % 10) + 1;            else                sum += tproduct;            if (mul == 1)                mul++;            else                mul--;        }        // Uncomment the following line to help create credit card numbers        // 1. Create a dummy number with a 0 as the last digit        // 2. Examine the sum written out        // 3. Replace the last digit with the difference between the sum and        // the next multiple of 10.        // document.writeln("<BR>Sum      = ",sum,"<BR>");        // alert("Sum      = " + sum);        if ((sum % 10) == 0)            return true;        else            return false;    }    /** Checks to see if the cc number is a valid Visa number     *     * @param cc a string representing a credit card number; Sample number: 4111 1111 1111 1111(16 digits)     * @return true, if the credit card number is a valid VISA number, false otherwise     */    public static boolean isVisa(String cc) {        if (((cc.length() == 16) || (cc.length() == 13)) && (cc.substring(0, 1).equals("4")))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid Master Card number     *     * @param cc a string representing a credit card number; Sample number: 5500 0000 0000 0004(16 digits)     * @return true, if the credit card number is a valid MasterCard  number, false otherwise     */    public static boolean isMasterCard(String cc) {        int firstdig = Integer.parseInt(cc.substring(0, 1));        int seconddig = Integer.parseInt(cc.substring(1, 2));        if ((cc.length() == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5)))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid American Express number     *   @param    cc - a string representing a credit card number; Sample number: 340000000000009(15 digits)     *   @return  true, if the credit card number is a valid American Express number, false otherwise     */    public static boolean isAmericanExpress(String cc) {        int firstdig = Integer.parseInt(cc.substring(0, 1));        int seconddig = Integer.parseInt(cc.substring(1, 2));        if ((cc.length() == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7)))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid Diners Club number     *   @param    cc - a string representing a credit card number; Sample number: 30000000000004(14 digits)     *   @return  true, if the credit card number is a valid Diner's Club number, false otherwise     */    public static boolean isDinersClub(String cc) {        int firstdig = Integer.parseInt(cc.substring(0, 1));        int seconddig = Integer.parseInt(cc.substring(1, 2));        if ((cc.length() == 14) && (firstdig == 3) && ((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid Carte Blanche number     *   @param    cc - a string representing a credit card number; Sample number: 30000000000004(14 digits)     *   @return  true, if the credit card number is a valid Carte Blanche number, false otherwise     */    public static boolean isCarteBlanche(String cc) {        return isDinersClub(cc);    }    /** Checks to see if the cc number is a valid Discover number     *   @param    cc - a string representing a credit card number; Sample number: 6011000000000004(16 digits)     *   @return  true, if the credit card number is a valid Discover card number, false otherwise     */    public static boolean isDiscover(String cc) {        String first4digs = cc.substring(0, 4);        if ((cc.length() == 16) && (first4digs.equals("6011")))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid EnRoute number     *   @param    cc - a string representing a credit card number; Sample number: 201400000000009(15 digits)     *   @return  true, if the credit card number is a valid enRoute card number, false, otherwise     */    public static boolean isEnRoute(String cc) {        String first4digs = cc.substring(0, 4);        if ((cc.length() == 15) && (first4digs.equals("2014") || first4digs.equals("2149")))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid JCB number     *   @param     cc - a string representing a credit card number; Sample number: 3088000000000009(16 digits)     *   @return  true, if the credit card number is a valid JCB card number, false otherwise     */    public static boolean isJCB(String cc) {        String first4digs = cc.substring(0, 4);        if ((cc.length() == 16) &&            (first4digs.equals("3088") ||                first4digs.equals("3096") ||                first4digs.equals("3112") ||                first4digs.equals("3158") ||                first4digs.equals("3337") ||                first4digs.equals("3528")))            return isCreditCard(cc);        return false;    }    /** Checks to see if the cc number is a valid number for any accepted credit card     *   @param     ccPassed - a string representing a credit card number     *   @return  true, if the credit card number is any valid credit card number for any of the accepted card types, false otherwise     */    public static boolean isAnyCard(String ccPassed) {        if (isEmpty(ccPassed)) return defaultEmptyOK;        String cc = stripCharsInBag(ccPassed, creditCardDelimiters);        if (!isCreditCard(cc)) return false;        if (isMasterCard(cc) || isVisa(cc) || isAmericanExpress(cc) || isDinersClub(cc) ||                isDiscover(cc) || isEnRoute(cc) || isJCB(cc))            return true;        return false;    }    /** Checks to see if the cc number is a valid number for any accepted credit card, and return the name of that type     *   @param     ccPassed - a string representing a credit card number     *   @return  true, if the credit card number is any valid credit card number for any of the accepted card types, false otherwise     */    public static String getCardType(String ccPassed) {        if (isEmpty(ccPassed)) return "Unknown";        String cc = stripCharsInBag(ccPassed, creditCardDelimiters);        if (!isCreditCard(cc)) return "Unknown";        if (isMasterCard(cc)) return "MasterCard";        if (isVisa(cc)) return "Visa";        if (isAmericanExpress(cc)) return "AmericanExpress";        if (isDinersClub(cc)) return "DinersClub";        if (isDiscover(cc)) return "Discover";        if (isEnRoute(cc)) return "EnRoute";        if (isJCB(cc)) return "JCB";        return "Unknown";    }    /** Checks to see if the cc number is a valid number for the specified type     *   @param    cardType - a string representing the credit card type     *   @param    cardNumberPassed - a string representing a credit card number     *   @return  true, if the credit card number is valid for the particular credit card type given in "cardType", false otherwise     */    public static boolean isCardMatch(String cardType, String cardNumberPassed) {        if (isEmpty(cardType)) return defaultEmptyOK;        if (isEmpty(cardNumberPassed)) return defaultEmptyOK;        String cardNumber = stripCharsInBag(cardNumberPassed, creditCardDelimiters);        if ((cardType.equalsIgnoreCase("VISA")) && (isVisa(cardNumber))) return true;        if ((cardType.equalsIgnoreCase("MASTERCARD")) && (isMasterCard(cardNumber))) return true;        if (((cardType.equalsIgnoreCase("AMERICANEXPRESS")) || (cardType.equalsIgnoreCase("AMEX"))) && (isAmericanExpress(cardNumber))) return true;        if ((cardType.equalsIgnoreCase("DISCOVER")) && (isDiscover(cardNumber))) return true;        if ((cardType.equalsIgnoreCase("JCB")) && (isJCB(cardNumber))) return true;        if (((cardType.equalsIgnoreCase("DINERSCLUB")) || (cardType.equalsIgnoreCase("DINERS"))) && (isDinersClub(cardNumber))) return true;        if ((cardType.equalsIgnoreCase("CARTEBLANCHE")) && (isCarteBlanche(cardNumber))) return true;        if ((cardType.equalsIgnoreCase("ENROUTE")) && (isEnRoute(cardNumber))) return true;        return false;    }    /** isNotPoBox returns true if address argument does not contain anything that looks like a a PO Box. */    public static boolean isNotPoBox(String s) {        if (isEmpty(s)) return defaultEmptyOK;        // strings to check from Greg's program        // "P.O. B"        // "P.o.B"        // "P.O B"        // "PO. B"        // "P O B"        // "PO B"        // "P.0. B"        // "P0 B"        String sl = s.toLowerCase();        if (sl.indexOf("p.o. b") != -1) return false;        if (sl.indexOf("p.o.b") != -1) return false;        if (sl.indexOf("p.o b") != -1) return false;        if (sl.indexOf("p o b") != -1) return false;        if (sl.indexOf("po b") != -1) return false;        if (sl.indexOf("pobox") != -1) return false;        if (sl.indexOf("po#") != -1) return false;        if (sl.indexOf("po #") != -1) return false;        // now with 0's for them sneaky folks        if (sl.indexOf("p.0. b") != -1) return false;        if (sl.indexOf("p.0.b") != -1) return false;        if (sl.indexOf("p.0 b") != -1) return false;        if (sl.indexOf("p 0 b") != -1) return false;        if (sl.indexOf("p0 b") != -1) return false;        if (sl.indexOf("p0box") != -1) return false;        if (sl.indexOf("p0#") != -1) return false;        if (sl.indexOf("p0 #") != -1) return false;        return true;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -