var reg = /\d/;//->包含一个0-9之间的数字
console.log(reg.test("zhu"));//->false
console.log(reg.test("zhu1"));//->true
var reg2 = /^\d$/;//->只能是一个0-9之间的数字
console.log(reg2.test("9"));//->true
console.log(reg2.test("012"));//->false
每一个正则表达式都是由元字符和修饰符组成的
什么是[元字符]:在//之间具有意义的一些字符
-
1、具有特殊意义的元字符
-
:转义字符,转译后面字符所代表的含义
-
^:以某一个元字符开始
-
$:以某一个元字符结尾
-
\n:匹配一个换行符
-
.:除了\n以外的任意字符
var reg = /^0.2$/;//->以0开头,以2结尾,中间可以是除了\n的任意字符 console.log(reg.test("0.2"));//->true console.log(reg.test("0和2"));//->true console.log(reg.test("0-2"));//->true console.log(reg.test("0sdhfohsdf-2"));//->false reg = /^0\.2$/;//->以0开头,以2结尾,中间是.的字符串; console.log(reg.test("0.2"));//->true console.log(reg.test("0-2"));//->false
-
():功能一:分组 ->把一个大正则本身划分成几个小的正则
var reg1 = /^\d+zhu\d+$/; var reg2 = /^(\d+)zhu(\d+)$/; //匹配 console.log(reg1.test("2zhu3"));//true console.log(reg2.test("2zhu4"));//true //捕获 console.log(reg1.exec("2zhu3"));//["2zhu3", index: 0, input: "2zhu3"] console.log(reg2.exec("2zhu4"));//["2zhu4", "2", "4", index: 0, input: "2zhu4"]
- 功能二:改变|的优先级;功能:替换,"或"操作字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。
-
x|y:x或者y中的一个
-
^x|yz$:x开头、yz结尾、x开头并且yz结尾、三种都可以
-
\d:一个0-9之间的数字 \D:除了0-9之间的数字以外的任何字符
-
\b:匹配一个边界符
-
\w:数字、字母、下划线中的任意一个字符 [0-9a-zA-Z_]
-
\s:匹配一个空白字符 空格、一个制表符、换页符...
-
-
2、代表出现次数的量词元字符
-
*:出现零到多次
-
+:出现一到多次
-
?:出现零次或者一次
-
{n}:出现n次
-
{n,}:出现n到多次
-
{n,m}:出现n到m次
var reg = /^\d+$/; console.log(reg.test("2015"));//->true
-
一个简单的验证手机号的正则:11位数字,第一位是1
var reg = /^1[3|4|5|7|8]\d{9}$/;//第一位以1开始,第二位可以是34578中的任意一位,后面再加9个数字;
console.log(reg.test("12345678901"));//false
console.log(reg.test("13856487589"));//true
console.log(reg.test("12114567895"));//false