further fixed faulty RegEx: missing grouping for last number in ip-address and 
escaped '/' to work in javascript


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/418a20c0
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/418a20c0
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/418a20c0

Branch: refs/heads/master
Commit: 418a20c0594f23764fe29ced400c1219239899a8
Parents: 8a04e80
Author: Stefaan Dutry <stefaan.du...@gmail.com>
Authored: Thu Aug 3 18:49:22 2017 +0200
Committer: Stefaan Dutry <stefaan.du...@gmail.com>
Committed: Thu Aug 3 18:49:22 2017 +0200

----------------------------------------------------------------------
 .../xwork2/validator/validators/URLValidator.java            | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/418a20c0/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
 
b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
index 2727723..a75b5a5 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
@@ -48,17 +48,17 @@ public class URLValidator extends FieldValidatorSupport {
 
     private static final Logger LOG = LogManager.getLogger(URLValidator.class);
 
-    public static final String DEFAULT_URL_REGEX = "^(?:https?|ftp)://" +
+    public static final String DEFAULT_URL_REGEX = "^(?:https?|ftp):\\/\\/" +
             "(?:(?:[a-z0-9$_.+!*'(),;?&=\\-]|%[0-9a-f]{2})+" +
             "(?::(?:[a-z0-9$_.+!*'(),;?&=\\-]|%[0-9a-f]{2})+)?" +
             "@)?#?" +
             "(?:(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)*" +
             "[a-z][a-z0-9-]*[a-z0-9]" +
             "|(?:(?:[1-9]?\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}" +
-            "[1-9]?\\d|1\\d{2}|2[0-4]\\d|25[0-5]" +
+            "(?:[1-9]?\\d|1\\d{2}|2[0-4]\\d|25[0-5])" +
             ")(?::\\d+)?" +
-            ")(?:(?:/(?:[a-z0-9$_.+!*'(),;:@&=\\-]|%[0-9a-f]{2})*)*" +
-            "(?:\\?(?:[a-z0-9$_.+!*'(),;:@&=\\-/:]|%[0-9a-f]{2})*)?)?" +
+            ")(?:(?:\\/(?:[a-z0-9$_.+!*'(),;:@&=\\-]|%[0-9a-f]{2})*)*" +
+            "(?:\\?(?:[a-z0-9$_.+!*'(),;:@&=\\-\\/:]|%[0-9a-f]{2})*)?)?" +
             "(?:#(?:[a-z0-9$_.+!*'(),;:@&=\\-]|%[0-9a-f]{2})*)?" +
             "$";
 

Reply via email to