From a233ebad06e9415f62bf82bc548ec51582b1b66a Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 18 Dec 2025 20:09:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/IpAddress/IpAddress.razor.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/BootstrapBlazor/Components/IpAddress/IpAddress.razor.js b/src/BootstrapBlazor/Components/IpAddress/IpAddress.razor.js index 792fb1e232e..3fb6b048797 100644 --- a/src/BootstrapBlazor/Components/IpAddress/IpAddress.razor.js +++ b/src/BootstrapBlazor/Components/IpAddress/IpAddress.razor.js @@ -95,15 +95,22 @@ export function init(id, invoke) { if (!raw) { return; } - const parts = raw.replace(/[^\d.]/g, '').split('.').filter(p => p.length); + + const ipRegex = /\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/; + const match = raw.match(ipRegex); + const parts = match ? match[0] : null; + if (parts === null) { + return; + } + const cells = el.querySelectorAll(".ipv4-cell"); let pos = 0; const args = []; - parts.forEach(p => { + parts.split('.').forEach(p => { if (pos > 3) { return; } - const num = Math.max(0, Math.min(255, parseInt(p, 10) || 0)); + const num = parseInt(p, 10); args.push(num); cells[pos].value = num.toString(); ip.prevValues[pos] = cells[pos].value; From 4401539690659d8e68f36f6eff217f954f572daf Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 18 Dec 2025 20:09:21 +0800 Subject: [PATCH 2/2] chore: bump version 10.1.4-beta08 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index c284f19acd6..f92f2f3f80e 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 10.1.4-beta07 + 10.1.4-beta08