OK - off topic, but Sun's java forum sucks, and there are an incredible
number of Java guru's on this list, so I thought I'd throw this out here.
(That and I am using this in a custom validation routine :-)) Any help
would be GREATLY appreciated!
Here's the scenario - I've got a series of static constants that represent
Java regular expressions. These RE's are used to validate driver license
formats for the 50 states + DC. The strings look like this:
public static final String AK = "^[0-9]{1,7}$";
public static final String AL = "^[0-9]{7}$";
public static final String AR = "^[0-9]{8,9}$";
public static final String AZ =
"^[0-9ABDY][0-9]{8}$|^[A-Z][0-9]{3,6}$|^[A-Z]{2}[0-9]{3,5}$";
public static final String CA = "^[A-Z][0-9]{4,7}$";
public static final String CO =
"^[A-Z][0-9]{1,6}$|^[A-Z]{2}[0-9]{1,6}$|^[0-9]{9}$";
etc. etc. etc.
On my form I have a drop-down box of states, and a field for the license
number. In my custom validator routine, I pick up the value of the state,
and build a string to represent the constant - i.e.
private static boolean validateDriversLicenseNumber(String
licenseState, String licenseNumber)
{
String licenseConstant = "Constants." + licenseState;
I then want to use "licenseConstant" in a Pattern / Match:
Pattern p = Pattern.compile(licenseConstant,
Pattern.CASE_INSENSITIVE);
Match m = p.matcher(licenseNumber);
return (m.find());
}
Obviously the line "String licenseConstant = "Constants." + licenseState;"
does not give me the value of Constant.<state name>; the question I have is,
is there a method (or something) that will allow me to build such a string,
and return the value (i.e. the regular expression)? Or is there a better
way of doing this?
TIA!
Jerry Jalenak
Web Publishing
LabOne, Inc.
10101 Renner Blvd.
Lenexa, KS 66219
(913) 577-1496
[EMAIL PROTECTED]
This transmission (and any information attached to it) may be confidential and is
intended solely for the use of the individual or entity to which it is addressed. If
you are not the intended recipient or the person responsible for delivering the
transmission to the intended recipient, be advised that you have received this
transmission in error and that any use, dissemination, forwarding, printing, or
copying of this information is strictly prohibited. If you have received this
transmission in error, please immediately notify LabOne at (800)388-4675.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>