From b149a99bb691893daa0820baf741321c49c63bf2 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Sun, 7 Nov 2010 22:46:22 +0000 Subject: [PATCH] Similar to r76267 but for JS. Should finish bug 24293. --- skins/common/block.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/skins/common/block.js b/skins/common/block.js index 73ed71e2df..425733b9a6 100644 --- a/skins/common/block.js +++ b/skins/common/block.js @@ -29,7 +29,15 @@ window.updateBlockOptions = function() { var addy = target.value; var isEmpty = addy.match(/^\s*$/); - var isIp = addy.match(/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|:(:[0-9A-Fa-f]{1,4}){1,7}|[0-9A-Fa-f]{1,4}(:{1,2}[0-9A-Fa-f]{1,4}|::$){1,7})(\/\d+)?$/); + + // @TODO: get some core JS IP functions + // Match the first IP in each list (ignore other garbage) + var isIpV4 = addy.match(/^(\d+\.\d+\.\d+\.\d+)(\/\d+)?$/); + // Regexp has 3 cases: (starts with '::',ends with '::',neither) + var isIpV6 = !addy.match(/::.*::/) // not ambiguous + && addy.match(/^(:(:[0-9A-Fa-f]{1,4}){1,7}|[0-9A-Fa-f]{1,4}(::?[0-9A-Fa-f]{1,4}){0,6}::|[0-9A-Fa-f]{1,4}(::?[0-9A-Fa-f]{1,4}){1,7})(\/\d+)?$/); + + var isIp = ( isIpV4 || isIpV6 ); var isIpRange = isIp && addy.match(/\/\d+$/); var anonymousRow = document.getElementById( 'wpAnonOnlyRow' ); -- 2.20.1