| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package main
- import (
- "fmt"
- "math/rand"
- "regexp"
- "time"
- )
- type Mac struct {
- Flag string
- }
- func NewMac(flag string) Mac {
- return Mac{Flag:flag}
- }
- func (m *Mac)Set(macAddr string)bool{
- reg := regexp.MustCompile("^([A-Fa-f0-9]{2}"+m.Flag+"){5}[A-Fa-f0-9]{2}$")
- result :=reg.Find([]byte(macAddr))
- return len(result) != 0
- }
- func main(){
- mac := NewMac("#")
- fmt.Println(mac.Set("11-22-33-44-55-66"))
- fmt.Println(mac.Set("11#22#33#44#55#66"))
- fmt.Println(mac.Set("11#22#33#44#F5#66"))
- fmt.Println(mac.Set("11#22#33#44#F5#6G"))
- fmt.Println(mac.Set("11#22#33#44#55#"))
- fmt.Println(mac.Set("11#22#33#44#55#66#dy"))
- }
- func test(l int) string{
- str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- bytes := []byte(str)
- var result []byte
- r := rand.New(rand.NewSource(time.Now().UnixNano()+int64(rand.Intn(10))))
- for i := 0; i < l; i++ {
- result = append(result, bytes[r.Intn(len(bytes))])
- }
- return string(result)
- }
|