美文网首页
go参数验证

go参数验证

作者: 宋song一 | 来源:发表于2020-08-26 10:56 被阅读0次

一、go浮点数转字符串保留小数点后N位,并且去掉小数点后0

// 主要逻辑就是先乘,trunc之后再除回去,就达到了保留N位小数的效果
func FormatFloat(num float64, decimal int) string {
 // 默认乘1
 d := float64(1)
 if decimal > 0 {
  // 10的N次方
  d = math.Pow10(decimal)
 }
 // math.trunc作用就是返回浮点数的整数部分
 // 再除回去,小数点后无效的0也就不存在了
 return strconv.FormatFloat(math.Trunc(num*d)/d, 'f', -1, 64)
}

二、go web接收参数的验证

gin默认验证器

必填字段验证:

  len(r.Form["neme"][0])==0
  len(r.FormValue("name"))==0

密码的正则验证

      m,_=regexp.MatchString(`^([A-Z]|[a-z]|[0-9]|[-=[;,./~!@#$%^*()_+}{:?]){6,20}$`,r.Form.Get("password"))

数字验证:

getint,err:=strconv.Itoa(r.FormValue("name"))
if err!=nil{
//可能不是数字
}
中文验证:
m,_:=regexp.MatchString("^[\\x{4e00}-\\x{9fa5}]+$",r.Form.Get("name"))
if !=m{
//可能不是数字
return false
}

英文验证

m,_:=regexp.MatchString("^[a-zA-z]+$",r.Form.Get("name"))
if !=m{
//可能不是英文
return false
}

电子邮箱验证:

m,_:=regexp.MatchString(`^([\w\.\_]{2,10})@(\w{1,}).([a-z](2,4))$`,r.Form.Get("name"))
if !=m{
//可能不是电子邮箱
return false
}   

手机号码验证:

m,_:=regexp.MatchString(`^(1[3|4|5|8][0-9]\d{4,8})$`,r.Form.Get("name"))
if !=m{
//可能不是手机号码
return false
}   

身份证号码
十八位:

^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

十五位:

^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$

相关文章

  • go参数验证

    一、go浮点数转字符串保留小数点后N位,并且去掉小数点后0 二、go web接收参数的验证 gin默认验证器 必填...

  • go web接收参数的验证

    必填字段验证: 密码的正则验证 数字验证: 中文验证: 英文验证 电子邮箱验证: 手机号码验证: 身份证号码 十八...

  • go validators用法详解 对struct字段进行参数验

    golang小菜一枚,业务中有对接口struct字段进行参数验证的需求,为了练手,自己造了个go validato...

  • 第02天(函数、工程管理)_01

    01_无参无返回值函数的使用.go 02_普通参数列表.go 03_不定参数类型.go 04_不定参数传递.go ...

  • day47-Django表单验证图片上传和分页技术

    一、表单验证 1.定义验证表单 2.使用表单验证is_valid():验证参数是否有效,如果参数验证成功返回Tru...

  • 第03天(复合类型)_03

    13_数组做函数参数.go 14_数组指针做函数参数.go 15_切片的长度和容量.go 16_切片的创建.go ...

  • 参数验证

    对于参数验证,可以从Request从获取参数进行验证,也可以先将参数封装成pojo类对象,而每个pojo类自身提供...

  • Go RPC demo

    模拟RPC调用 server.go client.go client2.go 多参数把多参数封装入结构体中 add...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • 三、Go的函数

    三、Go的函数 Go语言最少有一个main()函数。 1、Go的函数定义: 2、函数参数 函数如果使用参数,该变量...

网友评论

      本文标题:go参数验证

      本文链接:https://www.haomeiwen.com/subject/pnbojktx.html