Go语言:检验身份证(包含15、18位身份证)
可以加强一下检验:https://travel.sohu.com/a/673108238_113213
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| package main
import "regexp"
func main() { isIdentityCard(`123456789012345`) isIdentityCard(`12345678901234567X`) }
func isIdentityCard(identityCard string) { switch len(identityCard) { case 15: result, _ := regexp.MatchString(`^(\d{15})$`, identityCard) msgIdentityCard(result, `位数:15位`) case 18: result, _ := regexp.MatchString(`^(\d{17})([0-9]|X|x)$`, identityCard) msgIdentityCard(result, `位数:18位`) default: msgIdentityCard(false, `身份证位数应该为:15位 与 18位`) } }
func msgIdentityCard(result bool, msg string) { if result { println(`正确的身份证`, msg) } else { println(`错误的身份证`, msg) } }
|
Go语言:检验是不是一个手机号码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import ( "regexp" )
func main() { isMobile(`13200000000`) }
func isMobile(mobile string) { result, _ := regexp.MatchString(`^(1[3|4|5|8][0-9]\d{4,8})$`, mobile) if result { println(`正确的手机号`) } else { println(`错误的手机号`) } }
|
Go语言:检验一段话含有中文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package main
import ( "regexp" )
func main() { containsChinese(`hello world!`) containsChinese(`你好世界`)
}
func containsChinese(str string) { result, _ := regexp.MatchString(`[\x{4e00}-\x{9fa5}]+`, str) if result { println(`这段话含有中文`) } else { println(`这段话没有中文`) } }
|
Go语言:检验是不是一个邮箱
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import ( "regexp" )
func main() { isEmail(`123-abc@outlook.com`) }
func isEmail(email string) { result, _ := regexp.MatchString(`^([\w\.\_\-]{2,10})@(\w{1,}).([a-z]{2,4})$`, email) if result { println(`正确的邮箱`) } else { println(`不是邮箱`) } }
|
正则表达式列表(待续…)