今天写了个bug,原因是正则表达式配错了,测试的时候又漏掉了这个case.
简化的代码如上
var password="12345a6789"
if len(password)<8||len(password)>16{
fmt.Println(1)
}
// 判断是否为纯数字
if regexp.MustCompile(`[0-9]*`).MatchString(password){
fmt.Println(2)
}
// 判断是否包含空格
if strings.Contains(password," "){
fmt.Println(3)
}
//仅支持数字,字母和字符
if !regexp.MustCompile(`^[\w~!@#$%^&*()+,.:;=<>?/|\-[\]\\]{8,16}$`).MatchString(password) {
fmt.Println(4)
}
fmt.Println(5)
出问题的是’判断是否为纯数字的校验’,正确的方式应该是^[0-9]*$
总结下正则表达式的常见用法和常用的正则表达式: