正则表达式

  1. 本质:用来记录文本规则的代码(为字符串定义规则,为输入内容定义规则)
  1. 表单验证
  1. 隐藏手机号码
  1. 正则构成:由一些普通字符(字母、数字)和元字符(具有特殊意义的字符)组成
  1. 正则声明:没有规则的正则表达式是没有意义的
  1. 创建正则表达式的两种方式
<1>通过构造函数定义(内置对象法)
    var 变量名 = new ReggExp(/表达式/) ;
<2>通过直接量定义(字面量)
    var 变量名 = /表达式/ ;
  1. 正则表达式的使用:test()方法
有一个返回值,返回值是bool类型,决定参数是否符合正则表达式
  1. 正则内部类(帮我们写好的工具直接使用)
  1. 预定义类(定义好的类,直接使用)
<1>[^\n\r]:除了换行和回车之外的任意字符(“”不行)
<2>\d:[0-9]数字字符
<3>\D:[^0-9]非数字字符
<4>\s:[\t\n\x\0B\f\r]空白字符串
<5>\S:非空白字符串
<6>\w:单词字符
<7>\W:非单词字符
<8>g:全局替换
<9>i:区分大小写
  1. 负向类(不能是其中的整体/一部分)
中括号内,前面加个元字符^表示进行取反,不是括号里面的字符(只要有一个字符是里面的内容就返回false;内容多了(不是多出来的那部分可以是中括号里面的内容,但是多出来的一定不能是中括号里面的内容)/没有返回true)
注意:^符号是一定要写在中括号里面的
  1. 范围类:又是匹配的东西过多,而且类型又相同,全部输入太麻烦,就可以在中间加个横线-(只要有字符是这个范围内的就返回true,不是这个范围内的就返回false)
  2. 组合类:用中括号匹配不同类型的单个字符
  3. 简单类(正则://中什么特殊符号都不写,或用[]加入)
<1>/string/.test(“string”);     必须是完整的,只能多不能少(意思就是前面的//里面写了string,后面的test(“”)里面就必须要包含string,只能多不能少)
例如:
console.log(/chaoge/.test("chaoge")) ;           //true
console.log(/chaoge/.test("chaogenihao")) ;      //true
console.log(/chaoge/.test("chaog")) ;            //false
一句话,只要完整包含了andy就可以了(有它就行)
<2>/[string]/.test(“string”);      只要包含[]里面的任何一个字母就可以
    /[andy]/.test(“andy”);       //true
/[andy]/.test(“an”);       //true
    /[andy]/.test(“ady”);       //true
    /[andy]/.test(“anll”);       //true
    /[andy]/.test(“assd”);       //true
/[andy]/.test(“ss”);       //false
  1. 量词(重点)
(多个字母,重复最后一个)
*(贪婪)重负0次/更多(>=0) à /^a*$/.test(“a”);/^a*$/.test(“aaaaa”);a可以有多个或者是没有的时候返回的都是true
+(懒惰)重复一次/更多(>=1) à a有一个或者是多个返回的都是true
?(占有)重复0次/1次(0||1)à 只有a是一个或0个的时候返回的才是true
{}重复多少次的意思 à {n}必须是出现n次才返回true(x=n);{n,}重复n次/更多次都可以返回true(x>=n);{n,m}重复出现的次数比n多但比m少才返回true(n<=x<=m)
x|y  一个| x或y(没有&,用的是“,”代替&)
()提高权限,有限计算 à /(abc)|(xyz)/.test(“”)只有任意一个括号里面的内容完整了返回的才是true
  1. 正则边界(重点)
^会匹配行/字符串的起始位置(注:^在[]中才表示非!,这里表示开始)
$会匹配行/字符串的结尾位置
^$在一起就表示test(“”)里面的内容必须是这个(精确匹配),返回的结果才是true,其余的都是false
例如:
/^abc$/:表示的是以abc开头,以abc结尾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值