package utils import ( "fmt" "regexp" ) // 正整数正则 func PositiveIntegerRegexp() *regexp.Regexp { reg, _ := regexp.Compile("^[1-9][0-9]*$") return reg } // 手机号正则 不那么严谨的 func CellPhoneRegexp() *regexp.Regexp { reg, _ := regexp.Compile("^1\\d{10}$") return reg } // 固话正则 func TelPhoneRegexp() *regexp.Regexp { // reg, _ := regexp.Compile("^0\\d{2,3}-?\\d{7,8}$") reg, _ := regexp.Compile("^0\\d{2,3}-?\\d{7,8}$") return reg } // 手机号或固话正则 func PhoneRegexp() *regexp.Regexp { reg, _ := regexp.Compile("^(0\\d{2,3}-?\\d{7,8}$)|(1\\d{10}$)") return reg } // tests func PositiveIntegerRegexpTest() { reg := PositiveIntegerRegexp() fmt.Println("12 是否匹配:", reg.MatchString("12")) fmt.Println("1 是否匹配:", reg.MatchString("1")) fmt.Println("980030 是否匹配:", reg.MatchString("980030")) fmt.Println("01 是否匹配:", reg.MatchString("01")) fmt.Println("asd1asd 是否匹配:", reg.MatchString("asd1asd")) fmt.Println("a12 是否匹配:", reg.MatchString("a12")) fmt.Println("12a 是否匹配:", reg.MatchString("12a")) fmt.Println("-12 是否匹配:", reg.MatchString("-12")) fmt.Println("12.1 是否匹配:", reg.MatchString("12.1")) fmt.Println("14j2a 是否匹配:", reg.MatchString("14j2a")) } func CellPhoneRegexpTest() { reg := CellPhoneRegexp() fmt.Println("13632250447 是否匹配:", reg.MatchString("13632250447")) fmt.Println("12000000000 是否匹配:", reg.MatchString("12000000000")) fmt.Println("30001212325 是否匹配:", reg.MatchString("30001212325")) fmt.Println("1233123 是否匹配:", reg.MatchString("1233123")) fmt.Println("123312312344 是否匹配:", reg.MatchString("123312312344")) fmt.Println("13345678a12 是否匹配:", reg.MatchString("13345678a12")) fmt.Println("a13345678a1 是否匹配:", reg.MatchString("a13345678a1")) fmt.Println("1334a678a12 是否匹配:", reg.MatchString("1334a678a12")) fmt.Println("1345678a12a 是否匹配:", reg.MatchString("1345678a12a")) fmt.Println("aqwertyuioo 是否匹配:", reg.MatchString("aqwertyuioo")) } func TelPhoneRegexpTest() { reg := TelPhoneRegexp() fmt.Println("020-39006917 是否匹配:", reg.MatchString("020-39006917")) fmt.Println("02039006917 是否匹配:", reg.MatchString("02039006917")) fmt.Println("0754-5916612 是否匹配:", reg.MatchString("0754-5916612")) fmt.Println("07545916612 是否匹配:", reg.MatchString("07545916612")) fmt.Println("123-39006917 是否匹配:", reg.MatchString("123-39006917")) fmt.Println("1754-5916612 是否匹配:", reg.MatchString("1754-5916612")) fmt.Println("0a0-39006917 是否匹配:", reg.MatchString("0a0-39006917")) fmt.Println("0a039006917 是否匹配:", reg.MatchString("0a039006917")) fmt.Println("010-39s06917 是否匹配:", reg.MatchString("010-39s06917")) fmt.Println("020-390069171 是否匹配:", reg.MatchString("020-390069171")) fmt.Println("020-3900691 是否匹配:", reg.MatchString("020-3900691")) }