//by 司徒正美 //4段数字,由点隔开。每个数0-255,1、2位的不能0开头 function checkIPV4(str){ var sub ="", c = 0; for(var i = 0;i < str.length;i ++){ var el = str.charAt(i); if( el == "."){ ++c if(i == 0 ){ throw new Error("不能以.开头") }else{ checkSub(sub); sub = ""; if(c >= 4){ throw new Error("只能分为四段!") } } }else{ sub += el; } } checkSub(sub); return true; } function checkSub(str){ if(str.length > 1 && str.charAt(0) == "0"){ throw new Error("每个子段的开头不能为0") } var m = Number(str) if( isFinite(m)){ if(m< 0 || m> 255){ throw new Error("数值只能在0~255间") } }else{ throw new Error("必须是纯数字") } } console.log(checkIPV4("0.0.228.129"))