これは私がやったことであり、高速で完全に機能します:
function isIPv4Address(inputString) {
let regex = new RegExp(/^(([0-9]{1,3}\.){3}[0-9]{1,3})$/);
if(regex.test(inputString)){
let arInput = inputString.split(".")
for(let i of arInput){
if(i.length > 1 && i.charAt(0) === '0')
return false;
else{
if(parseInt(i) < 0 || parseInt(i) >=256)
return false;
}
}
}
else
return false;
return true;
}
説明: まず、正規表現を使用して、IP 形式が正しいことを確認します。ただし、正規表現は値の範囲をチェックしません。
つまり、Javascript を使用して正規表現を管理できるのであれば、それを使用してみませんか?. したがって、クレイジーな正規表現を使用する代わりに、正規表現を使用して形式が適切であることを確認し、オクテットの各値が正しい値の範囲 (0 ~ 255) にあることを確認します。これが他の誰かに役立つことを願っています。平和。