From: Jo-Philipp Wich Date: Tue, 20 Dec 2011 02:44:32 +0000 (+0000) Subject: libs/web: improve ip6addr datype validation, accept both CIDR and IP/Mask notation X-Git-Tag: 0.11.0~1215 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6ae669da0676b77d6ed101f79cbd4cff1eec7616;p=oweals%2Fluci.git libs/web: improve ip6addr datype validation, accept both CIDR and IP/Mask notation --- diff --git a/libs/web/htdocs/luci-static/resources/cbi.js b/libs/web/htdocs/luci-static/resources/cbi.js index 4b8cd5c90..3826753ed 100644 --- a/libs/web/htdocs/luci-static/resources/cbi.js +++ b/libs/web/htdocs/luci-static/resources/cbi.js @@ -49,13 +49,15 @@ var cbi_validators = { 'ip4addr': function(v) { - if( v.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\/(\d+))?$/) ) + if (v.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})(\/(\S+))?$/)) { return (RegExp.$1 >= 0) && (RegExp.$1 <= 255) && (RegExp.$2 >= 0) && (RegExp.$2 <= 255) && (RegExp.$3 >= 0) && (RegExp.$3 <= 255) && (RegExp.$4 >= 0) && (RegExp.$4 <= 255) && - (!RegExp.$5 || ((RegExp.$6 >= 0) && (RegExp.$6 <= 32))) + ((RegExp.$6.indexOf('.') < 0) + ? ((RegExp.$6 >= 0) && (RegExp.$6 <= 32)) + : (cbi_validators.ip4addr(RegExp.$6))) ; }