正则表达式

<!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>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值