天天看点

正则匹配手机号,邮箱(关于正则表达式)

表达式:

| 表示或者

[] 表示或者

[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}$/;
           

继续阅读