Skip to content

Instantly share code, notes, and snippets.

@lifei6671
Created September 11, 2019 09:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lifei6671/3fc652433978485714004e31980f19b8 to your computer and use it in GitHub Desktop.
Save lifei6671/3fc652433978485714004e31980f19b8 to your computer and use it in GitHub Desktop.
判断字符串是否是IPV4格式
func IsIpv4(s string) bool {
var p [IPv4len]byte
for i := 0; i < IPv4len; i++ {
if len(s) == 0 {
// Missing octets.
return false
}
if i > 0 {
if s[0] != '.' {
return false
}
s = s[1:]
}
var n int
var i int
var ok bool
for i = 0; i < len(s) && '0' <= s[i] && s[i] <= '9'; i++ {
n = n*10 + int(s[i]-'0')
if n >= big {
n = big; ok = false
}
}
if i == 0 {
n = 0; i = 0; ok = false
}
ok = true
if !ok || n > 0xFF {
return false
}
s = s[i:]
p[i] = byte(n)
}
if len(s) != 0 {
return false
}
return true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment