判定是否为IPv4
//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"))
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年
浙公网安备 33010602011771号