org.ofbiz.base.util
Class UtilValidate

java.lang.Object
  extended by org.ofbiz.base.util.UtilValidate

public class UtilValidate
extends java.lang.Object

General input/data validation methods Utility methods for validating data, especially input. See detailed description below.
SUMMARY

This is a set of meethods for validating input. Functions are provided to validate:
- U.S. and international phone/fax numbers
- U.S. ZIP codes(5 or 9 digit postal codes)
- U.S. Postal Codes(2 letter abbreviations for names of states)
- U.S. Social Security Numbers(abbreviated as SSNs)
- email addresses
- dates(entry of year, month, and day and validity of combined date)
- credit card numbers

Supporting utility functions validate that:
- characters are Letter, Digit, or LetterOrDigit
- strings are a Signed, Positive, Negative, Nonpositive, or Nonnegative integer
- strings are a Float or a SignedFloat
- strings are Alphabetic, Alphanumeric, or Whitespace
- strings contain an integer within a specified range

Other utility functions are provided to:
- remove from a string characters which are/are not in a "bag" of selected characters
- strip whitespace/leading whitespace from a string

==============================================================================
NOTE: This code was adapted from the Netscape JavaScript form validation code,
usually found in "FormChek.js". Credit card verification functions Originally ==============================================================================


Field Summary
static java.lang.String ContiguousUSStateCodes
          Valid contiguous U.S.
static java.lang.String creditCardDelimiters
          non-digit characters which are allowed in credit card numbers
static int[] daysInMonth
          An array of ints representing the number of days in each month of the year.
static java.lang.String decimalPointDelimiter
          decimal point character differs by language and culture
static boolean defaultEmptyOK
          boolean specifying by default whether or not it is okay for a String to be empty
static java.lang.String digits
          digit characters
static int digitsInSocialSecurityNumber
          U.S.
static int digitsInUSPhoneAreaCode
           
static int digitsInUSPhoneMainNumber
           
static int digitsInUSPhoneNumber
          U.S.
static int digitsInZipCode1
          U.S.
static int digitsInZipCode2
          U.S.
static java.lang.String hexDigits
          hex digit characters
static java.lang.String isAnyCardMsg
           
static java.lang.String isContiguousStateCodeMsg
           
static java.lang.String isContiguousZipCodeMsg
           
static java.lang.String isCreditCardPrefixMsg
           
static java.lang.String isCreditCardSuffixMsg
           
static java.lang.String isDateAfterToday
           
static java.lang.String isDateMsg
           
static java.lang.String isDatePrefixMsg
           
static java.lang.String isDateSuffixMsg
           
static java.lang.String isDayMsg
           
static java.lang.String isEmailMsg
           
static java.lang.String isFloatMsg
           
static java.lang.String isHourMsg
           
static java.lang.String isIntegerMsg
           
static java.lang.String isInternationalPhoneNumberMsg
           
static java.lang.String isLongMsg
           
static java.lang.String isMinuteMsg
           
static java.lang.String isMonthMsg
           
static java.lang.String isNotEmptyMsg
           
static java.lang.String isSecondMsg
           
static java.lang.String isSignedDoubleMsg
           
static java.lang.String isSignedFloatMsg
           
static java.lang.String isSignedIntegerMsg
           
static java.lang.String isSignedLongMsg
           
static java.lang.String isSSNMsg
           
static java.lang.String isStateCodeMsg
           
static java.lang.String isTimeMsg
           
static java.lang.String isUSPhoneAreaCodeMsg
           
static java.lang.String isUSPhoneMainNumberMsg
           
static java.lang.String isUSPhoneMsg
           
static java.lang.String isYearMsg
           
static java.lang.String isZipCodeMsg
           
static java.lang.String letters
          letter characters
static java.lang.String lowercaseLetters
          lower-case letter characters
static java.lang.String module
           
static java.lang.String phoneNumberDelimiters
          non-digit characters which are allowed in phone numbers
static java.lang.String SSNDelimiters
          non-digit characters which are allowed in Social Security Numbers
static java.lang.String uppercaseLetters
          upper-case letter characters
static java.lang.String USStateCodeDelimiter
          Delimiter for USStateCodes String
static java.lang.String USStateCodes
          Valid U.S.
static java.lang.String validSSNChars
          characters which are allowed in Social Security Numbers
static java.lang.String validUSPhoneChars
          characters which are allowed in US phone numbers
static java.lang.String validWorldPhoneChars
          characters which are allowed in international phone numbers(a leading + is OK)
static java.lang.String validZipCodeChars
          characters which are allowed in Social Security Numbers
static java.lang.String whitespace
          whitespace characters
static java.lang.String ZipCodeDelimeter
          our preferred delimiter for reformatting ZIP Codes
static java.lang.String ZipCodeDelimiters
          non-digit characters which are allowed in ZIP Codes
 
Constructor Summary
UtilValidate()
           
 
Method Summary
static java.lang.String appendCheckDigit(java.lang.String stPassed)
           
static boolean areEqual(java.lang.Object obj, java.lang.Object obj2)
           
static char calcUpcChecksum(java.lang.String upc)
           
static boolean charInString(char c, java.lang.String s)
          Returns true if single character c(actually a string) is contained within string s.
static java.lang.String checkValidDatabaseId(java.lang.String fieldStr)
           
static int daysInFebruary(int year)
          Given integer argument year, returns number of days in February of that year.
static java.lang.String getCardType(java.lang.String ccPassed)
          Checks to see if the cc number is a valid number for any accepted credit card, and return the name of that type
static int getLuhnCheckDigit(java.lang.String stPassed)
           
static int getLuhnSum(java.lang.String stPassed)
           
static boolean isAlphabetic(java.lang.String s)
          Returns true if string s is letters only.
static boolean isAlphanumeric(java.lang.String s)
          Returns true if string s is English letters (A ..
static boolean isAmericanExpress(java.lang.String cc)
          Checks to see if the cc number is a valid American Express number
static boolean isAnyCard(java.lang.String ccPassed)
          Checks to see if the cc number is a valid number for any accepted credit card
static boolean isCardMatch(java.lang.String cardType, java.lang.String cardNumberPassed)
          Checks to see if the cc number is a valid number for the specified type
static boolean isCarteBlanche(java.lang.String cc)
          Checks to see if the cc number is a valid Carte Blanche number
static boolean isContiguousStateCode(java.lang.String s)
          Return true if s is a valid contiguous U.S.
static boolean isContiguousZipCode(java.lang.String s)
          Returns true if string s is a valid contiguous U.S.
static boolean isCreditCard(java.lang.String stPassed)
          Checks credit card number with Luhn Mod-10 test
static boolean isDate(java.lang.String date)
          isDate returns true if string argument date forms a valid date.
static boolean isDate(java.lang.String year, java.lang.String month, java.lang.String day)
          isDate returns true if string arguments year, month, and day form a valid date.
static boolean isDateAfterToday(java.lang.String date)
          isDate returns true if string argument date forms a valid date and is after today.
static boolean isDateBeforeToday(java.lang.String date)
          isDate returns true if string argument date forms a valid date and is before today.
static boolean isDateTime(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
          Verify if date/time string match pattern and is valid.
static boolean isDateTime(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)
          Verify if date/time string match pattern and is valid.
static boolean isDay(java.lang.String s)
          isDay returns true if string s is a valid day number between 1 and 31.
static boolean isDigit(char c)
          Returns true if character c is a digit (0 ..
static boolean isDinersClub(java.lang.String cc)
          Checks to see if the cc number is a valid Diners Club number
static boolean isDiscover(java.lang.String cc)
          Checks to see if the cc number is a valid Discover number
static boolean isDouble(java.lang.String s, boolean allowNegative, boolean allowPositive, int minDecimal, int maxDecimal)
          General routine for testing whether a string is a double.
static boolean isEmail(java.lang.String s)
           
static boolean isEmpty(java.util.Collection c)
          Check whether collection c is empty.
static boolean isEmpty(java.lang.Object o)
          Check whether an object is empty, will see if it is a String, Map, Collection, etc.
static boolean isEmpty(java.lang.String s)
          Check whether string s is empty.
static boolean isEnRoute(java.lang.String cc)
          Checks to see if the cc number is a valid EnRoute number
static boolean isFloat(java.lang.String s)
          True if string s is an unsigned floating point(real) number.
static boolean isFloat(java.lang.String s, boolean allowNegative, boolean allowPositive, int minDecimal, int maxDecimal)
          General routine for testing whether a string is a float.
static boolean isGiftCard(java.lang.String stPassed)
          Check to see if a card number is a supported Gift Card
static boolean isHexDigit(char c)
          Returns true if character c is a letter or digit.
static boolean isHour(java.lang.String s)
          isHour returns true if string s is a valid number between 0 and 23.
static boolean isInteger(java.lang.String s)
          Returns true if all characters in string s are numbers.
static boolean isIntegerInRange(java.lang.String s, int a, int b)
          isIntegerInRange returns true if string s is an integer within the range of integer arguments a and b, inclusive.
static boolean isInternationalPhoneNumber(java.lang.String s)
          isInternationalPhoneNumber returns true if string s is a valid international phone number.
static boolean isJCB(java.lang.String cc)
          Checks to see if the cc number is a valid JCB number
static boolean isLetter(char c)
          Returns true if character c is an English letter (A ..
static boolean isLetterOrDigit(char c)
          Returns true if character c is a letter or digit.
static boolean isMasterCard(java.lang.String cc)
          Checks to see if the cc number is a valid Master Card number
static boolean isMinute(java.lang.String s)
          isMinute returns true if string s is a valid number between 0 and 59.
static boolean isMonth(java.lang.String s)
          isMonth returns true if string s is a valid month number between 1 and 12.
static boolean isNegativeInteger(java.lang.String s)
          Returns true if string s is an integer < 0.
static boolean isNonnegativeInteger(java.lang.String s)
          Returns true if string s is an integer >= 0.
static boolean isNonpositiveInteger(java.lang.String s)
          Returns true if string s is an integer <= 0.
static boolean isNotEmpty(java.util.Collection c)
          Check whether collection c is NOT empty.
static boolean isNotEmpty(java.lang.Object o)
          Check whether an object is NOT empty, will see if it is a String, Map, Collection, etc.
static boolean isNotEmpty(java.lang.String s)
          Check whether string s is NOT empty.
static boolean isNotPoBox(java.lang.String s)
          isNotPoBox returns true if address argument does not contain anything that looks like a a PO Box.
static boolean isOFBGiftCard(java.lang.String stPassed)
          Check to see if a card number is a valid OFB Gift Card (Certifiicate)
static boolean isPositiveInteger(java.lang.String s)
          Returns true if string s is an integer > 0.
static boolean isSecond(java.lang.String s)
          isSecond returns true if string s is a valid number between 0 and 59.
static boolean isSignedDouble(java.lang.String s)
          True if string s is a signed or unsigned floating point (real) number.
static boolean isSignedFloat(java.lang.String s)
          True if string s is a signed or unsigned floating point (real) number.
static boolean isSignedInteger(java.lang.String s)
          Returns true if all characters are numbers; first character is allowed to be + or - as well.
static boolean isSignedLong(java.lang.String s)
          Returns true if all characters are numbers; first character is allowed to be + or - as well.
static boolean isSolo(java.lang.String cc)
          Checks to see if the cc number is a valid Solo number
static boolean isSSN(java.lang.String s)
          isSSN returns true if string s is a valid U.S.
static boolean isStateCode(java.lang.String s)
          Return true if s is a valid U.S.
static boolean isString(java.lang.Object obj)
           
static boolean isswitch(java.lang.String cc)
          Checks to see if the cc number is a valid Switch number
static boolean isTime(java.lang.String time)
          isTime returns true if string argument time forms a valid time.
static boolean isTime(java.lang.String hour, java.lang.String minute, java.lang.String second)
          isTime returns true if string arguments hour, minute, and second form a valid time.
static boolean isTimestamp(java.lang.String value)
          Verify either date/time string conforms timestamp pattern.
static boolean isUrl(java.lang.String s)
          isUrl returns true if the string contains ://
static boolean isUSPhoneAreaCode(java.lang.String s)
          isUSPhoneAreaCode returns true if string s is a valid U.S.
static boolean isUSPhoneMainNumber(java.lang.String s)
          isUSPhoneMainNumber returns true if string s is a valid U.S.
static boolean isUSPhoneNumber(java.lang.String s)
          isUSPhoneNumber returns true if string s is a valid U.S.
static boolean isValidDatabaseId(java.lang.String fieldStr, java.lang.StringBuffer errorDetails)
           
static boolean isValidDatabaseId(java.lang.String fieldStr, java.lang.StringBuilder errorDetails)
           
static boolean isValidUpc(java.lang.String upc)
           
static boolean isValueLinkCard(java.lang.String stPassed)
          Check to see if a card number is a valid ValueLink Gift Card
static boolean isVisa(java.lang.String cc)
          Checks to see if the cc number is a valid Visa number
static boolean isVisaElectron(java.lang.String cc)
          Checks to see if the cc number is a valid Visa Electron number
static boolean isWhitespace(java.lang.String s)
          Returns true if string s is empty or whitespace characters only.
static boolean isYear(java.lang.String s)
          isYear returns true if string s is a valid Year number.
static boolean isZipCode(java.lang.String s)
          isZIPCode returns true if string s is a valid U.S.
static java.lang.String stripCharsInBag(java.lang.String s, java.lang.String bag)
          Removes all characters which appear in string bag from string s.
static java.lang.String stripCharsNotInBag(java.lang.String s, java.lang.String bag)
          Removes all characters which do NOT appear in string bag from string s.
static java.lang.String stripInitialWhitespace(java.lang.String s)
          Removes initial(leading) whitespace characters from s.
static java.lang.String stripWhitespace(java.lang.String s)
          Removes all whitespace characters from s.
static boolean sumIsMod10(int sum)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

module

public static final java.lang.String module

defaultEmptyOK

public static final boolean defaultEmptyOK
boolean specifying by default whether or not it is okay for a String to be empty

See Also:
Constant Field Values

digits

public static final java.lang.String digits
digit characters

See Also:
Constant Field Values

hexDigits

public static final java.lang.String hexDigits
hex digit characters

See Also:
Constant Field Values

lowercaseLetters

public static final java.lang.String lowercaseLetters
lower-case letter characters

See Also:
Constant Field Values

uppercaseLetters

public static final java.lang.String uppercaseLetters
upper-case letter characters

See Also:
Constant Field Values

letters

public static final java.lang.String letters
letter characters

See Also:
Constant Field Values

whitespace

public static final java.lang.String whitespace
whitespace characters

See Also:
Constant Field Values

decimalPointDelimiter

public static final java.lang.String decimalPointDelimiter
decimal point character differs by language and culture

See Also:
Constant Field Values

phoneNumberDelimiters

public static final java.lang.String phoneNumberDelimiters
non-digit characters which are allowed in phone numbers

See Also:
Constant Field Values

validUSPhoneChars

public static final java.lang.String validUSPhoneChars
characters which are allowed in US phone numbers

See Also:
Constant Field Values

validWorldPhoneChars

public static final java.lang.String validWorldPhoneChars
characters which are allowed in international phone numbers(a leading + is OK)

See Also:
Constant Field Values

SSNDelimiters

public static final java.lang.String SSNDelimiters
non-digit characters which are allowed in Social Security Numbers

See Also:
Constant Field Values

validSSNChars

public static final java.lang.String validSSNChars
characters which are allowed in Social Security Numbers

See Also:
Constant Field Values

digitsInSocialSecurityNumber

public static final int digitsInSocialSecurityNumber
U.S. Social Security Numbers have 9 digits. They are formatted as 123-45-6789.

See Also:
Constant Field Values

digitsInUSPhoneNumber

public static final int digitsInUSPhoneNumber
U.S. phone numbers have 10 digits. They are formatted as 123 456 7890 or(123) 456-7890.

See Also:
Constant Field Values

digitsInUSPhoneAreaCode

public static final int digitsInUSPhoneAreaCode
See Also:
Constant Field Values

digitsInUSPhoneMainNumber

public static final int digitsInUSPhoneMainNumber
See Also:
Constant Field Values

ZipCodeDelimiters

public static final java.lang.String ZipCodeDelimiters
non-digit characters which are allowed in ZIP Codes

See Also:
Constant Field Values

ZipCodeDelimeter

public static final java.lang.String ZipCodeDelimeter
our preferred delimiter for reformatting ZIP Codes

See Also:
Constant Field Values

validZipCodeChars

public static final java.lang.String validZipCodeChars
characters which are allowed in Social Security Numbers

See Also:
Constant Field Values

digitsInZipCode1

public static final int digitsInZipCode1
U.S. ZIP codes have 5 or 9 digits. They are formatted as 12345 or 12345-6789.

See Also:
Constant Field Values

digitsInZipCode2

public static final int digitsInZipCode2
U.S. ZIP codes have 5 or 9 digits. They are formatted as 12345 or 12345-6789.

See Also:
Constant Field Values

creditCardDelimiters

public static final java.lang.String creditCardDelimiters
non-digit characters which are allowed in credit card numbers

See Also:
Constant Field Values

isNotEmptyMsg

public static final java.lang.String isNotEmptyMsg
See Also:
Constant Field Values

isStateCodeMsg

public static final java.lang.String isStateCodeMsg
See Also:
Constant Field Values

isContiguousStateCodeMsg

public static final java.lang.String isContiguousStateCodeMsg
See Also:
Constant Field Values

isZipCodeMsg

public static final java.lang.String isZipCodeMsg
See Also:
Constant Field Values

isUSPhoneMsg

public static final java.lang.String isUSPhoneMsg
See Also:
Constant Field Values

isUSPhoneAreaCodeMsg

public static final java.lang.String isUSPhoneAreaCodeMsg
See Also:
Constant Field Values

isUSPhoneMainNumberMsg

public static final java.lang.String isUSPhoneMainNumberMsg
See Also:
Constant Field Values

isContiguousZipCodeMsg

public static final java.lang.String isContiguousZipCodeMsg
See Also:
Constant Field Values

isInternationalPhoneNumberMsg

public static final java.lang.String isInternationalPhoneNumberMsg
See Also:
Constant Field Values

isSSNMsg

public static final java.lang.String isSSNMsg
See Also:
Constant Field Values

isEmailMsg

public static final java.lang.String isEmailMsg
See Also:
Constant Field Values

isAnyCardMsg

public static final java.lang.String isAnyCardMsg
See Also:
Constant Field Values

isCreditCardPrefixMsg

public static final java.lang.String isCreditCardPrefixMsg
See Also:
Constant Field Values

isCreditCardSuffixMsg

public static final java.lang.String isCreditCardSuffixMsg
See Also:
Constant Field Values

isDayMsg

public static final java.lang.String isDayMsg
See Also:
Constant Field Values

isMonthMsg

public static final java.lang.String isMonthMsg
See Also:
Constant Field Values

isYearMsg

public static final java.lang.String isYearMsg
See Also:
Constant Field Values

isDatePrefixMsg

public static final java.lang.String isDatePrefixMsg
See Also:
Constant Field Values

isDateSuffixMsg

public static final java.lang.String isDateSuffixMsg
See Also:
Constant Field Values

isHourMsg

public static final java.lang.String isHourMsg
See Also:
Constant Field Values

isMinuteMsg

public static final java.lang.String isMinuteMsg
See Also:
Constant Field Values

isSecondMsg

public static final java.lang.String isSecondMsg
See Also:
Constant Field Values

isTimeMsg

public static final java.lang.String isTimeMsg
See Also:
Constant Field Values

isDateMsg

public static final java.lang.String isDateMsg
See Also:
Constant Field Values

isDateAfterToday

public static final java.lang.String isDateAfterToday
See Also:
Constant Field Values

isIntegerMsg

public static final java.lang.String isIntegerMsg
See Also:
Constant Field Values

isSignedIntegerMsg

public static final java.lang.String isSignedIntegerMsg
See Also:
Constant Field Values

isLongMsg

public static final java.lang.String isLongMsg
See Also:
Constant Field Values

isSignedLongMsg

public static final java.lang.String isSignedLongMsg
See Also:
Constant Field Values

isFloatMsg

public static final java.lang.String isFloatMsg
See Also:
Constant Field Values

isSignedFloatMsg

public static final java.lang.String isSignedFloatMsg
See Also:
Constant Field Values

isSignedDoubleMsg

public static final java.lang.String isSignedDoubleMsg
See Also:
Constant Field Values

daysInMonth

public static final int[] daysInMonth
An array of ints representing the number of days in each month of the year. Note: February varies depending on the year


USStateCodeDelimiter

public static final java.lang.String USStateCodeDelimiter
Delimiter for USStateCodes String

See Also:
Constant Field Values

USStateCodes

public static final java.lang.String USStateCodes
Valid U.S. Postal Codes for states, territories, armed forces, etc. See http://www.usps.gov/ncsc/lookups/abbr_state.txt.

See Also:
Constant Field Values

ContiguousUSStateCodes

public static final java.lang.String ContiguousUSStateCodes
Valid contiguous U.S. postal codes

See Also:
Constant Field Values
Constructor Detail

UtilValidate

public UtilValidate()
Method Detail

areEqual

public static boolean areEqual(java.lang.Object obj,
                               java.lang.Object obj2)

isEmpty

public static boolean isEmpty(java.lang.Object o)
Check whether an object is empty, will see if it is a String, Map, Collection, etc.


isNotEmpty

public static boolean isNotEmpty(java.lang.Object o)
Check whether an object is NOT empty, will see if it is a String, Map, Collection, etc.


isEmpty

public static boolean isEmpty(java.lang.String s)
Check whether string s is empty.


isEmpty

public static boolean isEmpty(java.util.Collection c)
Check whether collection c is empty.


isNotEmpty

public static boolean isNotEmpty(java.lang.String s)
Check whether string s is NOT empty.


isNotEmpty

public static boolean isNotEmpty(java.util.Collection c)
Check whether collection c is NOT empty.


isString

public static boolean isString(java.lang.Object obj)

isWhitespace

public static boolean isWhitespace(java.lang.String s)
Returns true if string s is empty or whitespace characters only.


stripCharsInBag

public static java.lang.String stripCharsInBag(java.lang.String s,
                                               java.lang.String bag)
Removes all characters which appear in string bag from string s.


stripCharsNotInBag

public static java.lang.String stripCharsNotInBag(java.lang.String s,
                                                  java.lang.String bag)
Removes all characters which do NOT appear in string bag from string s.


stripWhitespace

public static java.lang.String stripWhitespace(java.lang.String s)
Removes all whitespace characters from s. Member whitespace(see above) defines which characters are considered whitespace.


charInString

public static boolean charInString(char c,
                                   java.lang.String s)
Returns true if single character c(actually a string) is contained within string s.


stripInitialWhitespace

public static java.lang.String stripInitialWhitespace(java.lang.String s)
Removes initial(leading) whitespace characters from s. Member whitespace(see above) defines which characters are considered whitespace.


isLetter

public static boolean isLetter(char c)
Returns true if character c is an English letter (A .. Z, a..z). NOTE: Need i18n version to support European characters. This could be tricky due to different character sets and orderings for various languages and platforms.


isDigit

public static boolean isDigit(char c)
Returns true if character c is a digit (0 .. 9).


isLetterOrDigit

public static boolean isLetterOrDigit(char c)
Returns true if character c is a letter or digit.


isHexDigit

public static boolean isHexDigit(char c)
Returns true if character c is a letter or digit.


isInteger

public static boolean isInteger(java.lang.String s)
Returns true if all characters in string s are numbers. Accepts non-signed integers only. Does not accept floating point, exponential notation, etc.


isSignedInteger

public static boolean isSignedInteger(java.lang.String s)
Returns true if all characters are numbers; first character is allowed to be + or - as well. Does not accept floating point, exponential notation, etc.


isSignedLong

public static boolean isSignedLong(java.lang.String s)
Returns true if all characters are numbers; first character is allowed to be + or - as well. Does not accept floating point, exponential notation, etc.


isPositiveInteger

public static boolean isPositiveInteger(java.lang.String s)
Returns true if string s is an integer > 0. NOTE: using the Java Long object for greatest precision


isNonnegativeInteger

public static boolean isNonnegativeInteger(java.lang.String s)
Returns true if string s is an integer >= 0.


isNegativeInteger

public static boolean isNegativeInteger(java.lang.String s)
Returns true if string s is an integer < 0.


isNonpositiveInteger

public static boolean isNonpositiveInteger(java.lang.String s)
Returns true if string s is an integer <= 0.


isFloat

public static boolean isFloat(java.lang.String s)
True if string s is an unsigned floating point(real) number. Also returns true for unsigned integers. If you wish to distinguish between integers and floating point numbers, first call isInteger, then call isFloat. Does not accept exponential notation.


isFloat

public static boolean isFloat(java.lang.String s,
                              boolean allowNegative,
                              boolean allowPositive,
                              int minDecimal,
                              int maxDecimal)
General routine for testing whether a string is a float.


isDouble

public static boolean isDouble(java.lang.String s,
                               boolean allowNegative,
                               boolean allowPositive,
                               int minDecimal,
                               int maxDecimal)
General routine for testing whether a string is a double.


isSignedFloat

public static boolean isSignedFloat(java.lang.String s)
True if string s is a signed or unsigned floating point (real) number. First character is allowed to be + or -. Also returns true for unsigned integers. If you wish to distinguish between integers and floating point numbers, first call isSignedInteger, then call isSignedFloat.


isSignedDouble

public static boolean isSignedDouble(java.lang.String s)
True if string s is a signed or unsigned floating point (real) number. First character is allowed to be + or -. Also returns true for unsigned integers. If you wish to distinguish between integers and floating point numbers, first call isSignedInteger, then call isSignedFloat.


isAlphabetic

public static boolean isAlphabetic(java.lang.String s)
Returns true if string s is letters only. NOTE: This should handle i18n version to support European characters, etc. since it now uses Character.isLetter()


isAlphanumeric

public static boolean isAlphanumeric(java.lang.String s)
Returns true if string s is English letters (A .. Z, a..z) and numbers only. NOTE: Need i18n version to support European characters. This could be tricky due to different character sets and orderings for various languages and platforms.


isSSN

public static boolean isSSN(java.lang.String s)
isSSN returns true if string s is a valid U.S. Social Security Number. Must be 9 digits.


isUSPhoneNumber

public static boolean isUSPhoneNumber(java.lang.String s)
isUSPhoneNumber returns true if string s is a valid U.S. Phone Number. Must be 10 digits.


isUSPhoneAreaCode

public static boolean isUSPhoneAreaCode(java.lang.String s)
isUSPhoneAreaCode returns true if string s is a valid U.S. Phone Area Code. Must be 3 digits.


isUSPhoneMainNumber

public static boolean isUSPhoneMainNumber(java.lang.String s)
isUSPhoneMainNumber returns true if string s is a valid U.S. Phone Main Number. Must be 7 digits.


isInternationalPhoneNumber

public static boolean isInternationalPhoneNumber(java.lang.String s)
isInternationalPhoneNumber returns true if string s is a valid international phone number. Must be digits only; any length OK. May be prefixed by + character.


isZipCode

public static boolean isZipCode(java.lang.String s)
isZIPCode returns true if string s is a valid U.S. ZIP code. Must be 5 or 9 digits only.


isContiguousZipCode

public static boolean isContiguousZipCode(java.lang.String s)
Returns true if string s is a valid contiguous U.S. Zip code. Must be 5 or 9 digits only.


isStateCode

public static boolean isStateCode(java.lang.String s)
Return true if s is a valid U.S. Postal Code (abbreviation for state).


isContiguousStateCode

public static boolean isContiguousStateCode(java.lang.String s)
Return true if s is a valid contiguous U.S. Postal Code (abbreviation for state).


isEmail

public static boolean isEmail(java.lang.String s)

isUrl

public static boolean isUrl(java.lang.String s)
isUrl returns true if the string contains ://

Parameters:
s - String to validate
Returns:
true if s contains ://

isYear

public static boolean isYear(java.lang.String s)
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.


isIntegerInRange

public static boolean isIntegerInRange(java.lang.String s,
                                       int a,
                                       int b)
isIntegerInRange returns true if string s is an integer within the range of integer arguments a and b, inclusive.


isMonth

public static boolean isMonth(java.lang.String s)
isMonth returns true if string s is a valid month number between 1 and 12.


isDay

public static boolean isDay(java.lang.String s)
isDay returns true if string s is a valid day number between 1 and 31.


daysInFebruary

public static int daysInFebruary(int year)
Given integer argument year, returns number of days in February of that year.


isHour

public static boolean isHour(java.lang.String s)
isHour returns true if string s is a valid number between 0 and 23.


isMinute

public static boolean isMinute(java.lang.String s)
isMinute returns true if string s is a valid number between 0 and 59.


isSecond

public static boolean isSecond(java.lang.String s)
isSecond returns true if string s is a valid number between 0 and 59.


isDate

public static boolean isDate(java.lang.String year,
                             java.lang.String month,
                             java.lang.String day)
isDate returns true if string arguments year, month, and day form a valid date.


isDate

public static boolean isDate(java.lang.String date)
isDate returns true if string argument date forms a valid date.


isDateAfterToday

public static boolean isDateAfterToday(java.lang.String date)
isDate returns true if string argument date forms a valid date and is after today.


isDateBeforeToday

public static boolean isDateBeforeToday(java.lang.String date)
isDate returns true if string argument date forms a valid date and is before today.


isTime

public static boolean isTime(java.lang.String hour,
                             java.lang.String minute,
                             java.lang.String second)
isTime returns true if string arguments hour, minute, and second form a valid time.


isTime

public static boolean isTime(java.lang.String time)
isTime returns true if string argument time forms a valid time.


isValueLinkCard

public static boolean isValueLinkCard(java.lang.String stPassed)
Check to see if a card number is a valid ValueLink Gift Card

Parameters:
stPassed - a string representing a valuelink gift card
Returns:
true, if the number passed simple checks

isOFBGiftCard

public static boolean isOFBGiftCard(java.lang.String stPassed)
Check to see if a card number is a valid OFB Gift Card (Certifiicate)

Parameters:
stPassed - a string representing a gift card
Returns:
tru, if the number passed simple checks

isGiftCard

public static boolean isGiftCard(java.lang.String stPassed)
Check to see if a card number is a supported Gift Card

Parameters:
stPassed - a string representing a gift card
Returns:
true, if the number passed simple checks

getLuhnSum

public static int getLuhnSum(java.lang.String stPassed)

getLuhnCheckDigit

public static int getLuhnCheckDigit(java.lang.String stPassed)

sumIsMod10

public static boolean sumIsMod10(int sum)

appendCheckDigit

public static java.lang.String appendCheckDigit(java.lang.String stPassed)

isCreditCard

public static boolean isCreditCard(java.lang.String stPassed)
Checks credit card number with Luhn Mod-10 test

Parameters:
stPassed - a string representing a credit card number
Returns:
true, if the credit card number passes the Luhn Mod-10 test, false otherwise

isVisa

public static boolean isVisa(java.lang.String cc)
Checks to see if the cc number is a valid Visa number

Parameters:
cc - a string representing a credit card number; Sample number: 4111 1111 1111 1111(16 digits)
Returns:
true, if the credit card number is a valid VISA number, false otherwise

isMasterCard

public static boolean isMasterCard(java.lang.String cc)
Checks to see if the cc number is a valid Master Card number

Parameters:
cc - a string representing a credit card number; Sample number: 5500 0000 0000 0004(16 digits)
Returns:
true, if the credit card number is a valid MasterCard number, false otherwise

isAmericanExpress

public static boolean isAmericanExpress(java.lang.String cc)
Checks to see if the cc number is a valid American Express number

Parameters:
cc - - a string representing a credit card number; Sample number: 340000000000009(15 digits)
Returns:
true, if the credit card number is a valid American Express number, false otherwise

isDinersClub

public static boolean isDinersClub(java.lang.String cc)
Checks to see if the cc number is a valid Diners Club number

Parameters:
cc - - a string representing a credit card number; Sample number: 30000000000004(14 digits)
Returns:
true, if the credit card number is a valid Diner's Club number, false otherwise

isCarteBlanche

public static boolean isCarteBlanche(java.lang.String cc)
Checks to see if the cc number is a valid Carte Blanche number

Parameters:
cc - - a string representing a credit card number; Sample number: 30000000000004(14 digits)
Returns:
true, if the credit card number is a valid Carte Blanche number, false otherwise

isDiscover

public static boolean isDiscover(java.lang.String cc)
Checks to see if the cc number is a valid Discover number

Parameters:
cc - - a string representing a credit card number; Sample number: 6011000000000004(16 digits)
Returns:
true, if the credit card number is a valid Discover card number, false otherwise

isEnRoute

public static boolean isEnRoute(java.lang.String cc)
Checks to see if the cc number is a valid EnRoute number

Parameters:
cc - - a string representing a credit card number; Sample number: 201400000000009(15 digits)
Returns:
true, if the credit card number is a valid enRoute card number, false, otherwise

isJCB

public static boolean isJCB(java.lang.String cc)
Checks to see if the cc number is a valid JCB number

Parameters:
cc - - a string representing a credit card number; Sample number: 3088000000000009(16 digits)
Returns:
true, if the credit card number is a valid JCB card number, false otherwise

isswitch

public static boolean isswitch(java.lang.String cc)
Checks to see if the cc number is a valid Switch number

Parameters:
cc - - a string representing a credit card number; Sample number: 6331100000000096(16 digits)
Returns:
true, if the credit card number is a valid Switch card number, false otherwise

isSolo

public static boolean isSolo(java.lang.String cc)
Checks to see if the cc number is a valid Solo number

Parameters:
cc - - a string representing a credit card number; Sample number: 6331100000000096 (16 digits)
Returns:
true, if the credit card number is a valid Solo card number, false otherwise

isVisaElectron

public static boolean isVisaElectron(java.lang.String cc)
Checks to see if the cc number is a valid Visa Electron number

Parameters:
cc - - a string representing a credit card number; Sample number: 4175000000000001(16 digits)
Returns:
true, if the credit card number is a valid Visa Electron card number, false otherwise

isAnyCard

public static boolean isAnyCard(java.lang.String ccPassed)
Checks to see if the cc number is a valid number for any accepted credit card

Parameters:
ccPassed - - a string representing a credit card number
Returns:
true, if the credit card number is any valid credit card number for any of the accepted card types, false otherwise

getCardType

public static java.lang.String getCardType(java.lang.String ccPassed)
Checks to see if the cc number is a valid number for any accepted credit card, and return the name of that type

Parameters:
ccPassed - - a string representing a credit card number
Returns:
true, if the credit card number is any valid credit card number for any of the accepted card types, false otherwise

isCardMatch

public static boolean isCardMatch(java.lang.String cardType,
                                  java.lang.String cardNumberPassed)
Checks to see if the cc number is a valid number for the specified type

Parameters:
cardType - - a string representing the credit card type
cardNumberPassed - - a string representing a credit card number
Returns:
true, if the credit card number is valid for the particular credit card type given in "cardType", false otherwise

isNotPoBox

public static boolean isNotPoBox(java.lang.String s)
isNotPoBox returns true if address argument does not contain anything that looks like a a PO Box.


isValidUpc

public static boolean isValidUpc(java.lang.String upc)

calcUpcChecksum

public static char calcUpcChecksum(java.lang.String upc)

checkValidDatabaseId

public static java.lang.String checkValidDatabaseId(java.lang.String fieldStr)

isValidDatabaseId

public static boolean isValidDatabaseId(java.lang.String fieldStr,
                                        java.lang.StringBuffer errorDetails)

isValidDatabaseId

public static boolean isValidDatabaseId(java.lang.String fieldStr,
                                        java.lang.StringBuilder errorDetails)

isDateTime

public static boolean isDateTime(java.lang.String value,
                                 java.lang.String pattern,
                                 java.util.Locale locale,
                                 java.util.TimeZone timeZone)
Verify if date/time string match pattern and is valid.

Parameters:
value - a String value
pattern - a String value
locale - a Locale value
timeZone - a TimeZone value
Returns:
a boolean value

isDateTime

public static boolean isDateTime(java.lang.String value,
                                 java.lang.String pattern,
                                 java.util.Locale locale)
Verify if date/time string match pattern and is valid.

Parameters:
value - a String value
pattern - a String value
locale - a Locale value
Returns:
a boolean value

isTimestamp

public static boolean isTimestamp(java.lang.String value)
Verify either date/time string conforms timestamp pattern.

Parameters:
value - a String value
Returns:
a boolean value