2020-03-15

正则

1、正则是什么?如何学习?

正则就是由相关元字符修饰符组成的一个规则(一个模式/方法),用来匹配、验证或者捕获字符串中某些内容的规则(正则仅仅是用来处理字符串的)

  • 元字符 -
  • 修饰符 -
  • 编写常用的正则 -
  • 正则的验证 -
  • 正则的捕获 -
  • 正则的一些小实战以及一些常规方法的封装:
  • myQueryURLParameter、myTrim、myFormatTime….
复习字符串中常用的方法:
  • charAt / charCodeAt :根据索引获取指定位置的字符(或者字符的Unicode编码值)
 	str = "武汉加油!";
  	var res = str.charAt(0);//字符串是一个可读数据`
  • String.fromCharCode([unicode编码]):通过指定的编码获取对应的字符,
    code1, . . . , codeN
    是要转换为字符串的 Unicode 字符值序列。如果没有给出参数,结果为空字符串。
	var test = String.fromCharCode(112, 108, 97, 105, 110);
	document.write(test)//spain
  • substr(n,m):从索引n开始截取m个字符(m不写截取到末尾),n和m不支持负数
 	var Str = "武汉加油!";
    var res = Str.substr(1,2);
    console.log(res);//汉加
  • substring(n,m):从索引n开始找到索引为m处(不包含m)
	var res = Str.substring(1,2);
    console.log(res);//汉
  • slice(n,m):和substring一样,只是可以支持以负数作为索引(负数索引:总长度+负数索引,得到的结果就是查找的索引位置)
	var res = Str.slice(0,2);
    console.log(res);//武汉
  • indexof / lastIndexof:找到字符在字符串中第一次或者最后一次出现位置的索引,如果没有这个字符返回的是-1(通过这个机制也可以判断当前的字符串中是否包含这个字符)
 	var str = "B";
    var str1 = "BABEBIBOBUBABEBIBOBU";
    var res = str1.indexOf(str);
    var res2 = str1.lastIndexOf(str);
    console.log(res);//0
    console.log(res2)//18
  • search:和indexOf 相同,都是获取字符出现位置的索引,只是search可以支持正则
 	var str = "B";
    var reg = /U/;
    var str1 = "BABEBIBOBUBABEBIBOBU";
    var res = str1.search(reg);
    var res2 = str1.search(str);
    console.log(res);//9
    console.log(res2);//0
  • toUpperCase / toLowerCase:把一个字符串中所有字符转换成大写或者小写
	var str1 = "kjfkjhakhfjhakfl";
    var res = str1.toUpperCase();//变成大写
    console.log(res);//KJFKJHAKHFJHAKFL
	var str1 = "BABEBIBOBUBABEBIBOBU";
    var res = str1.toLowerCase();//变成小写
    console.log(res);//babebibobubabebibobu
  • split:按照指定的分隔符,把一个字符串拆分成数组中的每一项,可以支持正则
 	var str = "B";
    var str1 = "BABEBIBOBUBABEBIBOBU";
    var res = str1.split(str);
    console.log(res);//(11) ["", "A", "E", "I", "O", "U", "A", "E", "I", "O", "U"]
  • replace:把字符串中的原有字符进行替换,在不使用正则的情况下,执行一次replace,只能替换一次,这个方法也可以支持正则
    字符串.replace(正则表达式,新的内容);

  • match:根据正则匹配到所有符合规则的结果,结果以一个数组来存储
    字符串.match(正则表达式)

  • **localeCompare **:两个字符串之间的比较,按照每一个字符的Unicode编码值一个个比较

  • trim / trimLeft / trimRight:去除字符串的首尾空格(trimLeft去除首空格/trimRight去除尾空格),但是这个方法不兼容

  • 正则的元字符只要在“/元子符/”之间包含起来的,都是正则的元字符特殊元字符

  • \ 转义字符(把有意义和没意义的字符来回转). 除了\n以外的任意字符\n 换行符

  • ^ 以xxx开始

  • $ 以xxx结束

  • \d 匹配0-9之间的任意数字

  • \D:除了0-9之间数字的任意字符

  • \b 匹配一个边界

  • \w 匹配数字、字母、下划线中的任意字符

  • \s 匹配任意一个空格

  • \S 匹配任意一个非空格

  • /g 全局变量

  • /[a-z]/ a-z 或 A-Z

  • /^ [a-z]/ 以a-z开头 或 A-Z开头

文件格式检测/.(jpg/jpeg/bmp)$/
邮政编码检测/d{6}/
邮箱格式/^ [a-zA-Z0-9]+@([a-zA-Z0-9] +\.)+(com/cn/net/org)$/
电话号码/^ 1[345678]+\d{9}$/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值