Index: src/test/org/apache/commons/validator/UrlTest.java =================================================================== --- src/test/org/apache/commons/validator/UrlTest.java (revision 453756) +++ src/test/org/apache/commons/validator/UrlTest.java (revision 453784) @@ -141,6 +141,12 @@ urlValidator.isValid("http://www.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.logoworks.comwww.log"); } + public void testValidator204() { + String[] schemes = {"http","https"}; + UrlValidator urlValidator = new UrlValidator(schemes); + assertTrue(urlValidator.isValid("http://tech.yahoo.com/rc/desktops/102;_ylt=Ao8yevQHlZ4On0O3ZJGXLEQFLZA5")); + } + static boolean incrementTestPartsIndex(int[] testPartsIndex, Object[] testParts) { boolean carry = true; //add 1 to lowest order part. boolean maxIndex = true; Index: src/share/org/apache/commons/validator/UrlValidator.java =================================================================== --- src/share/org/apache/commons/validator/UrlValidator.java (revision 453756) +++ src/share/org/apache/commons/validator/UrlValidator.java (revision 453784) @@ -148,7 +148,7 @@ */ private static final int PARSE_AUTHORITY_EXTRA = 3; - private static final String PATH_PATTERN = "/^(/[-\\w:@&?=+,.!/~*'%$]*)?$/"; + private static final String PATH_PATTERN = "/^(/[-\\w:@&?=+,.!/~*'%$_;]*)?$/"; private static final String QUERY_PATTERN = "/^(.*)$/";