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

📄 utilvalidate.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            // Check that current character is number or letter.            char c = s.charAt(i);            if (!isLetterOrDigit(c)) return false;        }        // All characters are numbers or letters.        return true;    }    /* ================== METHODS TO CHECK VARIOUS FIELDS. ==================== */    /** isSSN returns true if string s is a valid U.S. Social Security Number.  Must be 9 digits. */    public static boolean isSSN(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedSSN = stripCharsInBag(s, SSNDelimiters);        return (isInteger(normalizedSSN) && normalizedSSN.length() == digitsInSocialSecurityNumber);    }    /** isUSPhoneNumber returns true if string s is a valid U.S. Phone Number.  Must be 10 digits. */    public static boolean isUSPhoneNumber(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedPhone = stripCharsInBag(s, phoneNumberDelimiters);        return (isInteger(normalizedPhone) && normalizedPhone.length() == digitsInUSPhoneNumber);    }    /** isUSPhoneAreaCode returns true if string s is a valid U.S. Phone Area Code.  Must be 3 digits. */    public static boolean isUSPhoneAreaCode(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedPhone = stripCharsInBag(s, phoneNumberDelimiters);        return (isInteger(normalizedPhone) && normalizedPhone.length() == digitsInUSPhoneAreaCode);    }    /** isUSPhoneMainNumber returns true if string s is a valid U.S. Phone Main Number.  Must be 7 digits. */    public static boolean isUSPhoneMainNumber(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedPhone = stripCharsInBag(s, phoneNumberDelimiters);        return (isInteger(normalizedPhone) && normalizedPhone.length() == digitsInUSPhoneMainNumber);    }    /** isInternationalPhoneNumber returns true if string s is a valid     *  international phone number.  Must be digits only; any length OK.     *  May be prefixed by + character.     */    public static boolean isInternationalPhoneNumber(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedPhone = stripCharsInBag(s, phoneNumberDelimiters);        return isPositiveInteger(normalizedPhone);    }    /** isZIPCode returns true if string s is a valid U.S. ZIP code.  Must be 5 or 9 digits only. */    public static boolean isZipCode(String s) {        if (isEmpty(s)) return defaultEmptyOK;        String normalizedZip = stripCharsInBag(s, ZipCodeDelimiters);        return (isInteger(normalizedZip) && ((normalizedZip.length() == digitsInZipCode1) || (normalizedZip.length() == digitsInZipCode2)));    }    /** Returns true if string s is a valid contiguous U.S. Zip code.  Must be 5 or 9 digits only. */    public static boolean isContiguousZipCode(String s) {        boolean retval = false;        if (isZipCode(s)) {            if (isEmpty(s)) retval = defaultEmptyOK;            else {                String normalizedZip = s.substring(0,5);                int iZip = Integer.parseInt(normalizedZip);                if ((iZip >= 96701 && iZip <= 96898) || (iZip >= 99501 && iZip <= 99950)) retval = false;                else retval = true;            }        }        return retval;    }    /** Return true if s is a valid U.S. Postal Code (abbreviation for state). */    public static boolean isStateCode(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return ((USStateCodes.indexOf(s) != -1) && (s.indexOf(USStateCodeDelimiter) == -1));    }    /** Return true if s is a valid contiguous U.S. Postal Code (abbreviation for state). */    public static boolean isContiguousStateCode(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return ((ContiguousUSStateCodes.indexOf(s) != -1) && (s.indexOf(USStateCodeDelimiter) == -1));    }    /** Email address must be of form a@b.c -- in other words:     *  - there must be at least one character before the @     *  - there must be at least one character before and after the .     *  - the characters @ and . are both required     */    public static boolean isEmail(String s) {        if (isEmpty(s)) return defaultEmptyOK;        // is s whitespace?        if (isWhitespace(s)) return false;        // there must be >= 1 character before @, so we        // start looking at character position 1        // (i.e. second character)        int i = 1;        int sLength = s.length();        // look for @        while ((i < sLength) && (s.charAt(i) != '@')) i++;        // there must be at least one character after the .        if ((i >= sLength - 1) || (s.charAt(i) != '@'))            return false;        else            return true;        // DEJ 2001-10-13 Don't look for '.', some valid emails do not have a dot in the domain name        // else i += 2;        // look for .        // while((i < sLength) && (s.charAt(i) != '.')) i++;        // there must be at least one character after the .        // if((i >= sLength - 1) || (s.charAt(i) != '.')) return false;        // else return true;    }    /** isUrl returns true if the string contains ://     * @param s String to validate     * @return true if s contains ://     */    public static boolean isUrl(String s) {        if (isEmpty(s)) return defaultEmptyOK;        if (s.indexOf("://") != -1)            return true;        return false;    }    /** isYear returns true if string s is a valid     *  Year number.  Must be 2 or 4 digits only.     *     *  For Year 2000 compliance, you are advised     *  to use 4-digit year numbers everywhere.     */    public static boolean isYear(String s) {        if (isEmpty(s)) return defaultEmptyOK;        if (!isNonnegativeInteger(s)) return false;        return ((s.length() == 2) || (s.length() == 4));    }    /** isIntegerInRange returns true if string s is an integer     *  within the range of integer arguments a and b, inclusive.     */    public static boolean isIntegerInRange(String s, int a, int b) {        if (isEmpty(s)) return defaultEmptyOK;        // Catch non-integer strings to avoid creating a NaN below,        // which isn't available on JavaScript 1.0 for Windows.        if (!isSignedInteger(s)) return false;        // Now, explicitly change the type to integer via parseInt        // so that the comparison code below will work both on        // JavaScript 1.2(which typechecks in equality comparisons)        // and JavaScript 1.1 and before(which doesn't).        int num = Integer.parseInt(s);        return ((num >= a) && (num <= b));    }    /** isMonth returns true if string s is a valid month number between 1 and 12. */    public static boolean isMonth(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return isIntegerInRange(s, 1, 12);    }    /** isDay returns true if string s is a valid day number between 1 and 31. */    public static boolean isDay(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return isIntegerInRange(s, 1, 31);    }    /** Given integer argument year, returns number of days in February of that year. */    public static int daysInFebruary(int year) {        // February has 29 days in any year evenly divisible by four,        // EXCEPT for centurial years which are not also divisible by 400.        return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);    }    /** isHour returns true if string s is a valid number between 0 and 23. */    public static boolean isHour(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return isIntegerInRange(s, 0, 23);    }    /** isMinute returns true if string s is a valid number between 0 and 59. */    public static boolean isMinute(String s) {        if (isEmpty(s)) return defaultEmptyOK;        return isIntegerInRange(s, 0, 59);    }    /** isSecond returns true if string s is a valid number between 0 and 59. */    public static boolean isSecond(String s) {        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(":");

⌨️ 快捷键说明

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