一、关于数字类的校验
1、验证数字:^[0-9]*$
2、验证n位的数字:^\d{n}$
3、验证至少n位数字:^\d{n,}$
4、验证m-n位的数字:^\d{m,n}$
5、验证零和非零开头的数字:^(0|[1-9][0-9]*)$
6、验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
7、验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
8、验证非零的正整数:^\+?[1-9][0-9]*$
9、验证非零的负整数:^\-[1-9][0-9]*$
10、验证非负整数(正整数 + 0): ^\d+$
11、验证非正整数(负整数 + 0): ^((-\d+)|(0+))$
12、校验电话号码:/^1[3|4|5|8][0-9]\d{8}$/
13、验证身份证号(15位或18位数字):^\d{15}|\d{}18$
二、关于字母的校验
三、关于字母和数字的校验
四、关于汉字的校验
1、两个到10个汉字: /^[\u0391-\uFFE5]{2,10}$/
2、验证汉字:^[\u4e00-\u9fa5],{0,}$
五、搭配校验
1、验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
(\w 匹配字母, 数字, 下划线)
2、验证用户名或昵称经常用到: ^[\u4e00-\u9fa5A-Za-z0-9-_]*$
只能中英文,数字,下划线,减号
3、验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
4、验证邮箱地址:^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
5、验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
正则的一些详解
元字符 描述
. 匹配除换行符以外的任意字符
\d 匹配数字, 等价于字符组[0-9]
\w 匹配字母, 数字, 下划线
\s 匹配任意的空白符(包括制表符,空格,换行等)
\b 匹配单词开始或结束的位置
^ 匹配行首
$ 匹配行尾
反义元字符
元字符 描述
\D 匹配非数字的任意字符, 等价于[^0-9]
\W 匹配除字母,数字,下划线或汉字之外的任意字符
\S 匹配非空白的任意字符
\B 匹配非单词开始或结束的位置
[^x] 匹配除x以外的任意字符
可以看出正则表达式严格区分大小写.
重复限定符
限定符共有6个, 假设重复次数为x次, 那么将有如下规则:
限定符 描述
- x>=0
- x>=1
? x=0 or x=1
{n} x=n
{n,} x>=n
{n,m} n<=x<=m
字符组
[…]
匹配中括号内字符之一. 如: [xyz] 匹配字符 x, y 或 z. 如果中括号中包含元字符, 则元字符降级为普通字符, 不再具有元字符的功能, 如 [+.?] 匹配 加号, 点号或问号.
排除性字符组
[^…]
匹配任何未列出的字符,. 如: [^x]
匹配除x以外的任意字符.
多选结构
| 就是或的意思, 表示两者中的一个. 如: a|b 匹配a或者b字符.
括号
括号 常用来界定重复限定符的范围, 以及将字符分组. 如: (ab)+ 可以匹配abab…等, 其中 ab 便是一个分组.
转义字符
\ 即转义字符, 通常 \ * + ? | { [ ( ) ] }^ $ . # 和 空白 这些字符都需要转义.
操作符的运算优先级
\ 转义符
(), (??, (?=), [] 圆括号或方括号
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $ 位置
| “或” 操作
这也是一篇写正则的,可以参考:http://www.mamicode.com/info-detail-1754802.html