<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
//正则就来处理复杂字符串(他就是一个规则)
//匹配字符串的格式是否正确---->正则匹配 test(true false)
//把匹配的内容找出来--->正则的捕获 exec
var reg=/\d/
//正则有两部分组成
//元字符 写在//里边的全是元字符
//修饰符
//g:全局匹配
//i:忽略大小写
//m:换行匹配
//特殊意义的元字符
//\:转义字符 一般把具有特殊意义的字符转成仅仅代表原来本身意义的字符
var str='I\'m mq';
console.log(str);
var reg=/\\d/;
var s="\\d";
console.log(reg.test(s));
//^:以什么什么开头
var reg=/12/;
console.log(reg.test("111111322222"));//false
var reg=/^1/;
console.log(reg.test("111111322222"));//true
console.log(reg.test("3211"));//false
console.log(/^\d\dm/.test("10m111"));//true
//$:以什么什么结尾
console.log(/\dx$/.test("111x"));//true
//
var reg=/^m\d12$/;
console.log(reg.test("m012"));//true
var reg=/^\d\d$/;
console.log(reg.test("22"));
//\d 0-9中任意一个
//\D 除了\d以外的任意一个
//\w 0-9 a-z A-Z _ 这63个中的任意一个
//\W 除了\w以外的任意一个
//\n 匹配一个换行符
var reg=/\d\n\d/;
console.log(reg.test("2\n2"));
console.log("2\n2");
//\s 空白符
console.log(/\s/.test(" "));
//\S 非空白符
//\b 匹配一个边界
console.log(/\ba/.test("cc ab"));
//\B 匹配一个非边界
//. 除了\n意外的所有字符
console.log(/../.test(".."));
//量词元字符
//* 前面的元字符出现0到多次
var reg=/^m\w*$/;
console.log(reg.test("mcabc"));//true
//+ 前面的元字符出现1到多次
var reg=/^m\w+$/;
console.log(reg.test("m111"));//true
var reg=/^.*0+\d$/;// *没有或者多次 .一次或者没有
console.log(reg.test("00"));//true
//? 前面的元字符出现0或1次
var reg=/^0?\d\d$/;
console.log(reg.test("02"));//true
//{n} 前面的元字符出现n次
var reg=/^0{3}\d$/;
console.log(reg.test("0002"));//true
//{n,} 前面的元字符出现至少n次
var reg=/^0{3,}\d$/;
console.log(reg.test("0002"));//true
//{n,m} 前面的元字符出现n到m次
var reg=/^0{3,6}\d$/;
console.log(reg.test("000000200000"));//false
//x|y x或y中的一个
//[xyz] x y z 中的一个
//[^xyz] 不是x y z 中的一个
//[a-z] a-z中的一个(a,b,c......,z)
//[a-zA-Z] a-z或者A-Z中的1个
//^/$
//.
//[] 中括号里面的元字符不管以前什么意思在这里就只是普通的元字符(带/的还是转义)
console.log(/^[2*]$/.test("*"));//true
//|
console.log(/^1\d|5$/.test("5"));//true
//以1紧跟一个数字开头或者以5结尾
//[xy] x|y
var reg1=/^10|89$/;//以10紧跟一个数字开头或者以89结尾
console.log(reg1.test("898989"));//true
var reg2=/^[10|89]$/;
console.log(reg2.test("0"));//true
var reg3=/^[15-79]$/;
console.log(reg3.test("8"));//false
//21-26
var reg=/^2[1-6]$/;//true
//16-65
//16-19 20-59 60-65
var reg=/^(1[6-9]|[2-5][0-9]|6[0-5])$/;
console.log(reg.test("34"))
//()分组:把大正则分成几个小正则
//作用:改变默认优先级 先算括号里面的
var reg=/^\w(\w)\1\w$/;//\1代表第一个分组匹配的内容
console.log(reg.test("good"));
</script>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
//正则就来处理复杂字符串(他就是一个规则)
//匹配字符串的格式是否正确---->正则匹配 test(true false)
//把匹配的内容找出来--->正则的捕获 exec
var reg=/\d/
//正则有两部分组成
//元字符 写在//里边的全是元字符
//修饰符
//g:全局匹配
//i:忽略大小写
//m:换行匹配
//特殊意义的元字符
//\:转义字符 一般把具有特殊意义的字符转成仅仅代表原来本身意义的字符
var str='I\'m mq';
console.log(str);
var reg=/\\d/;
var s="\\d";
console.log(reg.test(s));
//^:以什么什么开头
var reg=/12/;
console.log(reg.test("111111322222"));//false
var reg=/^1/;
console.log(reg.test("111111322222"));//true
console.log(reg.test("3211"));//false
console.log(/^\d\dm/.test("10m111"));//true
//$:以什么什么结尾
console.log(/\dx$/.test("111x"));//true
//
var reg=/^m\d12$/;
console.log(reg.test("m012"));//true
var reg=/^\d\d$/;
console.log(reg.test("22"));
//\d 0-9中任意一个
//\D 除了\d以外的任意一个
//\w 0-9 a-z A-Z _ 这63个中的任意一个
//\W 除了\w以外的任意一个
//\n 匹配一个换行符
var reg=/\d\n\d/;
console.log(reg.test("2\n2"));
console.log("2\n2");
//\s 空白符
console.log(/\s/.test(" "));
//\S 非空白符
//\b 匹配一个边界
console.log(/\ba/.test("cc ab"));
//\B 匹配一个非边界
//. 除了\n意外的所有字符
console.log(/../.test(".."));
//量词元字符
//* 前面的元字符出现0到多次
var reg=/^m\w*$/;
console.log(reg.test("mcabc"));//true
//+ 前面的元字符出现1到多次
var reg=/^m\w+$/;
console.log(reg.test("m111"));//true
var reg=/^.*0+\d$/;// *没有或者多次 .一次或者没有
console.log(reg.test("00"));//true
//? 前面的元字符出现0或1次
var reg=/^0?\d\d$/;
console.log(reg.test("02"));//true
//{n} 前面的元字符出现n次
var reg=/^0{3}\d$/;
console.log(reg.test("0002"));//true
//{n,} 前面的元字符出现至少n次
var reg=/^0{3,}\d$/;
console.log(reg.test("0002"));//true
//{n,m} 前面的元字符出现n到m次
var reg=/^0{3,6}\d$/;
console.log(reg.test("000000200000"));//false
//x|y x或y中的一个
//[xyz] x y z 中的一个
//[^xyz] 不是x y z 中的一个
//[a-z] a-z中的一个(a,b,c......,z)
//[a-zA-Z] a-z或者A-Z中的1个
//^/$
//.
//[] 中括号里面的元字符不管以前什么意思在这里就只是普通的元字符(带/的还是转义)
console.log(/^[2*]$/.test("*"));//true
//|
console.log(/^1\d|5$/.test("5"));//true
//以1紧跟一个数字开头或者以5结尾
//[xy] x|y
var reg1=/^10|89$/;//以10紧跟一个数字开头或者以89结尾
console.log(reg1.test("898989"));//true
var reg2=/^[10|89]$/;
console.log(reg2.test("0"));//true
var reg3=/^[15-79]$/;
console.log(reg3.test("8"));//false
//21-26
var reg=/^2[1-6]$/;//true
//16-65
//16-19 20-59 60-65
var reg=/^(1[6-9]|[2-5][0-9]|6[0-5])$/;
console.log(reg.test("34"))
//()分组:把大正则分成几个小正则
//作用:改变默认优先级 先算括号里面的
var reg=/^\w(\w)\1\w$/;//\1代表第一个分组匹配的内容
console.log(reg.test("good"));
</script>
</body>
</html>