當(dāng)你不確定時(shí),可以透過(guò)console.log來(lái)查看輸出。
請(qǐng)查看我的codesandbox,我在驗(yàn)證過(guò)程中使用console.log來(lái)分步驟地輸出,必要時(shí)將大步驟拆分為小步驟。
對(duì)於你的第一次嘗試,問(wèn)題在於Number.isFinite總是會(huì)回傳false。這是因?yàn)槟憬o它傳遞了一個(gè)字串coord,但Number.isFinite期望的是一個(gè)數(shù)字。修復(fù)方法如下:
#Number.isFinite(parseFloat(coord))
你的初始值.split只適用於逗號(hào)","。我建議在空格、逗號(hào)和逗號(hào) 任意數(shù)量的空格上進(jìn)行分割。
const coordinates = value.split(/[,\s]\s*/);
對(duì)於你的第二次嘗試,只使用正規(guī)表示式,我沒(méi)有看到任何問(wèn)題。我將程式碼放在同一個(gè)codesandbox中,並將其用作驗(yàn)證方法時(shí),它完美地工作。