正则表达式:邮箱,手机号,c语言变量规则等等

原作者:70KG
转自:原文连接
同时转自:基于golang的手机号格式验证和邮箱格式验证(正则表达式)

一,正则表达式

1.由数字、26个英文字母或者下划线组成的字符串:

^[0-9a-zA-Z_]{1,}$

2.非负整数(正整数 + 0 ):

^/d+$

3,正整数:

^[0-9]*[1-9][0-9]*$

4.非正整数(负整数 + 0):

   ^((-/d+)|(0+))$

5, 负整数 :

^-[0-9]*[1-9][0-9]*$

6.整数:

^-?/d+$

7.非负浮点数(正浮点数 + 0):

^/d+(/./d+)?$

8.正浮点数 :

^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$

9,非正浮点数(负浮点数 + 0):

 ^((-/d+(/./d+)?)|(0+(/.0+)?))$

10.负浮点数 :

^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$

11,浮点数 :

^(-?/d+)(/./d+)?$

12.由26个英文字母组成的字符串 :

 ^[A-Za-z]+$

13.,由26个英文字母的大写组成的字符串 :

  ^[A-Z]+$

14.由26个英文字母的小写组成的字符串 :

^[a-z]+$

15,由数字和26个英文字母组成的字符串 :

^[A-Za-z0-9]+$

16.由数字、26个英文字母或者下划线组成的字符串 :

   ^/w+$

17.email地址 :

^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$

18.url:

^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$

19.年-月-日:

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/

20.月/日/年:

/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/

21.Emil:

   ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$

22.电话号码:

   (d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?

23.IP地址:

  ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$

24.匹配中文字符的正则表达式:

  [/u4e00-/u9fa5]

25.匹配双字节字符(包括汉字在内):

 [^/x00-/xff]

26.匹配空行的正则表达式:

  /n[/s| ]*/r

27.匹配HTML标记的正则表达式:

   /<(.*)>.*<///1>|<(.*) //>/

28.匹配首尾空格的正则表达式:

 (^/s*)|(/s*$)

29.匹配Email地址的正则表达式:

  /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

30.匹配网址URL的正则表达式:

  ^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$

31.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):

^[a-zA-Z][a-zA-Z0-9_]{4,15}$

32.匹配国内电话号码:

 (/d{3}-|/d{4}-)?(/d{8}|/d{7})?

33.匹配腾讯QQ号:

   ^[1-9]*[1-9][0-9]*$

34.只能输入数字:

   ^[0-9]*$

35.只能输入n位的数字:

  ^/d{n}$

36.只能输入至少n位的数字:

  ^/d{n,}$

37.只能输入m~n位的数字:

  ^/d{m,n}$

38.只能输入零和非零开头的数字:

  ^(0|[1-9][0-9]*)$

39.只能输入有两位小数的正实数:

  ^[0-9]+(.[0-9]{2})?$

40.只能输入有1~3位小数的正实数:

^[0-9]+(.[0-9]{1,3})?$

41.只能输入非零的正整数:

  ^/+?[1-9][0-9]*$

42.只能输入非零的负整数:

  ^/-[1-9][0-9]*$

43.只能输入长度为3的字符:

   ^.{3}$

44.只能输入由26个英文字母组成的字符串:

   ^[A-Za-z]+$

45.只能输入由26个大写英文字母组成的字符串:

  ^[A-Z]+$

46.只能输入由26个小写英文字母组成的字符串:

 ^[a-z]+$

47.只能输入由数字和26个英文字母组成的字符串:

 ^[A-Za-z0-9]+$

48.只能输入由数字和26个英文字母或者下划线组成的字符串:

   ^/w+$

49.验证用户密码(正确格式为: 以字母开头,长度在5~17 之间,只能包含字符、数字和下划线)

^[a-zA-Z]/w{5,17}$

50.验证是否包含有 ^%&’,;=?$/"等字符:

  [^%&',;=?$/x22]+

51.只能输入汉字:

   ^[\u4e00-\u9fa5]{0,}$

52、只含有汉字、数字、字母、下划线不能以下划线开头和结尾

  ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$

53、只含有汉字、数字、字母、下划线,下划线位置不限

 ^[a-zA-Z0-9_\u4e00-\u9fa5]+$

54、2~4个汉字

 @"^[\u4E00-\u9FA5]{2,4}$

55、第一位是【1】开头,第二位则则有【3,4,5,7,8】,第三位则是【0-9】,第三位之后则是数字【0-9】。

var reg = /^1[3|4|5|7|8][0-9]{9}$/;

手机号第二位不做限制

var reg = /^1[0-9]{10}$/;

二,golang 使用例子

import (
	"fmt"
	"regexp"
)
func VerifyNameFormat(name string) bool {
	pattern := "^[0-9a-zA-Z_]{1,}$"
	reg := regexp.MustCompile(pattern)
	fmt.Println(reg.MatchString(name))
	return reg.MatchString(name)
}
func VerifyEmailFormat(email string) bool {
	//pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱
	pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$`
	reg := regexp.MustCompile(pattern)
	return reg.MatchString(email)
}
func VerifyMobileFormat(mobileNum string) bool {
	regular := "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"

	reg := regexp.MustCompile(regular)
	fmt.Println(reg.MatchString(mobileNum))
	return reg.MatchString(mobileNum)
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值