GO语言使用正则验证的方法,暂时支持密码、邮箱、用户名验证,自己可以扩展更多。下面是我放在公共类库中的正则验证文件。此文件我也应用到我的博客项目和云盘项目中。
package cmnimport "regexp"// 公式const (VERIFY_EXP_USERNAME = `^[a-zA-Z0-9_]{3,15}$`VERIFY_EXP_PASSWORD = `^[a-zA-Z0-9_\.\&\@]{6,16}$`)// 正则验证func VerifyFormat(exp, str string) bool {reg := regexp.MustCompile(exp)return reg.MatchString(str)}// 验证邮箱func VerifyEmail(email string) bool {return VerifyFormat(`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`, email)}
应用:
func main(){password:=123if !cmn.VerifyFormat(cmn.VERIFY_EXP_PASSWORD, password) {t.ApiError(-1, "管理员密码由6-16位组成,可以是数字、字母和.、&、@")return}}
正在学习Go语言的PHP程序员。