Refine partId extraction logic to ensure valid animestore URLs and update error message for clarity

This commit is contained in:
Nik Afiq 2025-12-06 20:04:27 +09:00
parent 138e0d5eb7
commit aebd3048f6

View File

@ -43,11 +43,13 @@ function extractPartId(urlStr: string): string | null {
if (!trimmed) return null; if (!trimmed) return null;
try { try {
const u = new URL(trimmed); const u = new URL(trimmed);
if (!u.hostname.endsWith("animestore.docomo.ne.jp")) return null;
const partId = u.searchParams.get("partId") || u.searchParams.get("partid"); const partId = u.searchParams.get("partId") || u.searchParams.get("partid");
if (partId) return partId; if (partId) return partId;
} catch { } catch {
// fallback to regex // fallback to regex
} }
if (!trimmed.includes("animestore.docomo.ne.jp")) return null;
const m = trimmed.match(/partId=(\d+)/i); const m = trimmed.match(/partId=(\d+)/i);
return m ? m[1] : null; return m ? m[1] : null;
} }
@ -165,7 +167,7 @@ export default function ShowsPage() {
setDanimeResult(null); setDanimeResult(null);
const partId = extractPartId(danimeUrl); const partId = extractPartId(danimeUrl);
if (!partId) { if (!partId) {
setScrapeError("partId を含む dアニメのURLを入力してください。"); setScrapeError("animestore.docomo.ne.jp のエピソードURLpartId付きを入力してください。");
return; return;
} }
try { try {