2.11. Testing the Contents of a String
Problem
You need to make sure a string contains only numbers, letters, or a combination of both.
Solution
Use the various StringUtils
methods to validate
user input; isNumeric( )
, isAlpha()
, isAlphanumeric()
, and isAlphaSpace()
verify that a string does not contain any
undesired characters:
String state = "Virginia" System.our.println( "Is state number? " + StringUtils.isNumeric( state ) ); System.our.println( "Is state alpha? " + StringUtils.isAlpha( state ) ); System.our.println( "Is state alphanumeric? " + StringUtils.isAlphanumeric( state ) ); System.our.println( "Is state alphaspace? " + StringUtils.isAlphaspace( state ) );
This code tests the string “Virginia” against four validation methods, producing the following output:
Is state a number? false Is state alpha? true Is state alphanumeric? true Is state alphaspace? true
Discussion
StringUtils.isNumeric( )
returns true if the
string being tested contains only digits from 0 to 9. If you are
asking a user to input a numerical value, such as year or age, you
need to have a way to ensure that the input supplied is, in fact, a
numeric value:
String test1 = "1976"; String test2 = "Mozart"; boolean t1val = StringUtils.isNumeric( test1 ); boolean t2val = StringUtils.isNumeric( test2 ); System.out.println( "Is " + test1 + " a number? " + t1val ); System.out.println( "Is " + test2 + " a number? " + t2val );
This code tests two strings and produces the following output:
Is 1976 a number? true ...
Get Jakarta Commons Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.