表达式:
| 表示或者
[] 表示或者
[a-z] 表示所有的小写字母
[A-Z] 表示所有的大写字母
[A-z] 表示所有的字母
[A-Za-z] 表示所有的字母
[0-9] 表示所有数字
[12] 表示1或者2
[^] 表示取反 [^0-9] 非数字
量词:
{n} 表示出现的次数
{n,m} 表示出现n到m次
{n,} 表示出现n到无限次
+ 表示1次到无限次 {1,}
* 表示0次到无限次 {0,}
? 表示0次到1次 {0,1}
^ 表示必须以…开头
$ 表示必须以…结束
^…$ 表示必须是绝对匹配
() 表示括号内的将作为一个整体
元字符:
. 查找单个字符(除了换行和行结束符之外的任意字符)
. 必须包含.
\w 所有字母,数字,下划线
\W 所有非字母,数字,下划线的值
\d 所有数字
\D 所有非数字
\s 包含空格
\S 不包含空格 只有空格是false
\b 包含单词边界 包括空格和左右两个单引号
\B 不包含单词边界 包括空格和左右两个单引号
手机号匹配:
var reg = /^1[3-9][0-9]{9}$/;
console.log(reg.test('13633345698')); //true reg.test()返回一个布尔值
邮箱匹配:‘
例:需满足以下要求(可根据实际情况和需求对应改变)
[email protected]
[email protected]
第一部分:
xiao_ming 任意字母,数字,下划线,中划线 1次到无限次
第二部分: 整体出现0次到2次
.fdjskfjk 任意字母,数字,下划线,中划线 1次到30次
第三部分:
@
第四部分:
qq 字母或者数字 1次到10次
第五部分: 整体1次到2次
.com .和 字母3次
//第一部分 (\w|-)+
//第二部分 (\.(\w|-){1,30}){0,2}
//第三部分 @
//第四部分 [A-z0-9]{1,10}
//第五部分 (\.[A-z]{2,3}){1,2}
//最终进行绝对匹配
var reg = /^(\w|-)+(\.(\w|-){1,30}){0,2}@[A-z0-9]{1,10}(\.[A-z]{2,3}){1,2}$/;