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})*)?" + "$";